问题描述
最近遇到一个bug,页面是用ajax提交form的。我们系统只能在ie7或者ie6中使用,但发现有时候提交一次却执行了两次action?这种情况正常情况下不发生,是为什么呀。
解决方案
解决方案二:
是不是点了两次嘞,按钮设置一个点击后变灰,再测试一下。
解决方案三:
肯定是前端提交了2次么。。。
解决方案四:
引用楼主famossss的回复:
最近遇到一个bug,页面是用ajax提交form的。我们系统只能在ie7或者ie6中使用,但发现有时候提交一次却执行了两次action?这种情况正常情况下不发生,是为什么呀。
没有的。。按钮是点一次就变灰。。这种情况偶尔才发生。。不知道为啥。。
解决方案五:
引用1楼da_zhuang的回复:
是不是点了两次嘞,按钮设置一个点击后变灰,再测试一下。
前端就ajax提交一次,form不submit的。很少的情况下才会出现调用两次的情况。什么原因呀。
解决方案六:
不能确定重现的问题,这个原因可能很多,不好下断定
解决方案七:
我曾经遇到过,submit放到了按钮事件上面,,有些浏览器会执行二次请求事件。尤其FIREFOX。另外,AJAX,有时候,触发事件并没有及时响应,导致用户会产生第二次点击,也有可能。
解决方案八:
引用楼主famossss的回复:
最近遇到一个bug,页面是用ajax提交form的。我们系统只能在ie7或者ie6中使用,但发现有时候提交一次却执行了两次action?这种情况正常情况下不发生,是为什么呀。
我之前也遇到过这种情况,应该是只有查询请求的时候会有这种情况,如果任何ajax请求都有这种情况,那就要看如何处理了
解决方案九:
引用5楼yellowshine的回复:
不能确定重现的问题,这个原因可能很多,不好下断定
偶尔出现,最有可能的是啥问题
解决方案十:
引用7楼attached的回复:
引用楼主famossss的回复:最近遇到一个bug,页面是用ajax提交form的。我们系统只能在ie7或者ie6中使用,但发现有时候提交一次却执行了两次action?这种情况正常情况下不发生,是为什么呀。我之前也遇到过这种情况,应该是只有查询请求的时候会有这种情况,如果任何ajax请求都有这种情况,那就要看如何处理了
就部分,查询反而没遇到过,
解决方案十一:
引用6楼wrong1111的回复:
我曾经遇到过,submit放到了按钮事件上面,,有些浏览器会执行二次请求事件。尤其FIREFOX。另外,AJAX,有时候,触发事件并没有及时响应,导致用户会产生第二次点击,也有可能。
不可能第二滴点击。。
解决方案十二:
引用8楼famossss的回复:
引用5楼yellowshine的回复:不能确定重现的问题,这个原因可能很多,不好下断定偶尔出现,最有可能的是啥问题
贴代码看看吧
解决方案十三:
引用11楼yellowshine的回复:
引用8楼famossss的回复:引用5楼yellowshine的回复:不能确定重现的问题,这个原因可能很多,不好下断定偶尔出现,最有可能的是啥问题贴代码看看吧
functiononSubmit(){varcmp_form=Ext.getCmp('form_panel');varakc194=Ext.getCmp("akc194_cmp").getValue();if(akc194==""||akc194==null){Ext.MessageBox.alert('提示','请选择拨付月份!');return;}varstore=Ext.getCmp('dsGrid');vargrid1=Ext.getCmp('grid1');//varm=store.getSelectedRange();varm=grid1.getSelectionModel().getSelections();//获取添加的人员列表记录if(m==null||m==""){Ext.MessageBox.alert('提示','请选择需要拨付的医院!');return;}varjsonData="";for(vari=0,len=m.length;i<len;i++){varss=JSON.stringify(m[i].data);if(i==0)jsonData=jsonData+ss;elsejsonData=jsonData+","+ss;}cmp_form.form.doAction('submit',{url:'<s:urlvalue="/k1/f30180405/savePatchHosPay.action"/>',timeout:1000000000,params:{listData:jsonData,akc194:akc194},waitMsg:'保存......',reset:false,success:function(menu_form,action){Ext.MessageBox.alert('Message','保存成功!');},failure:function(menu_form,action){Ext.MessageBox.alert('Message','保存失败,请在月拨付查询中查看拨付成功的医院列表!');}});}这个方法偶尔执行两次。。没有用form提交。。
解决方案十四:
有可能是刷新了页面,你不妨设置token拦截器试试
解决方案十五:
首先你自己要确定在什么条件下提交了两次,跟提交一次的情况有什么区别,你只说偶尔提交两次,谁猜得出原因啊
解决方案:
我用的是MVC3,你是不是引用了两次<scriptsrc="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")"type="text/javascript"></script>可能布局引用了_Layout.cshtml提交表单的页面也引用了
解决方案:
你的ajax触发方式是什么啊
解决方案:
http://www.360doc.com/content/10/0712/10/15103_38434853.shtml
解决方案:
js设置不能重复提交
解决方案:
ajax中有一种缓存机制,而这种缓存机制会重提交,建议你换种ajax写法。
解决方案:
后来原因找到了么,是什么引起的,我现在也遇到这样的问题
解决方案:
关注中,你说的偶尔这个真心不好猜