首页 > 代码库 > Ajax后台只执行一次的解决方案
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‘,
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。