zoukankan      html  css  js  c++  java
  • Ajax后台只执行一次的解决方案

     1  $.ajax({
     2             url: 'Ajax/OrderBy.aspx',
     3             data: {AppIds: sortedAppids},
     4             dataType: 'xml',
     5             type: 'POST',
     6             success: function(xml)
     7             {
     8                alert("排序成功!");
     9 
    10             }
    11         });

    ajax在同步交互时,第一次提交正常,再第二次提交如果和上次提交的url地址相同时将不进行提交,会用上次的返回值。这样处理也许是ext别有良苦用心,但是,如果遇到每次必须提交时,例如一次提交后台的数据已经被修改了,再次提交返回的结果其实是不一样的,这样就需要特殊处理了。

    方法一:GET方式加参数

    源码:

    01.var conn = Ext.lib.Ajax.getConnectionObject().conn;   
    02.        conn.open("get", HOST+'/OrgUserAction_checkPassword.action?id='+id+'&passwordOld='+checkValue,false);   
    03.        conn.send(null);   
    04.//      alert(conn.responseText);  

    修改后:

    01.var conn = Ext.lib.Ajax.getConnectionObject().conn;   
    02.        conn.open("get", HOST+'/OrgUserAction_checkPassword.action?id='+id+'&passwordOld='+checkValue+'&temp='+new Date(),false);   
    03.        conn.send(null);   
    04.//      alert(conn.responseText);  

    添加了一个临时参数temp=new Date();

    这样保证了每次提交的url是不同的,从而达到了每次都会提交的效果。

    方法二:
    把get 改成post就可以了type: 'POST',

  • 相关阅读:
    C# 文件重命名
    C# 获取图像文件
    我开通了博客
    C# 图像截取
    C# 从txt读取内容
    Linux 下查看用户组信息
    部署Jenkins完整记录
    一篇文章搞定Java注解^_^
    Java基础之接口
    枚举让盗版美国总统wcc给你整明白哈哈
  • 原文地址:https://www.cnblogs.com/zhouxunyu/p/3885036.html
Copyright © 2011-2022 走看看