前端 就ajax提交一次,form不submit的。很少的情况下才会出现调用两次的情况。什么原因呀。

解决方案 »

  1.   

    我曾经遇到过,submit放到了按钮事件上面,,有些浏览器会执行二次请求事件。尤其FIREFOX。
    另外,AJAX ,有时候,触发事件并没有及时响应,导致用户会产生第二次点击,也有可能。
      

  2.   

    我之前也遇到过这种情况,应该是只有查询请求的时候会有这种情况,如果任何ajax请求都有这种 情况,那就要看如何处理了
      

  3.   


    function onSubmit(){

            var cmp_form = Ext.getCmp('form_panel');     
    var     akc194=Ext.getCmp("akc194_cmp").getValue();
    if(akc194=="" || akc194==null){
      Ext.MessageBox.alert('提示', '请选择拨付月份!');
      return;
    }
        var store = Ext.getCmp('dsGrid');
        var grid1 = Ext.getCmp('grid1');
        //var m = store.getSelectedRange();
        var m=grid1.getSelectionModel().getSelections();
         //获取添加的人员列表记录
         if(m==null||m==""){
    Ext.MessageBox.alert('提示', '请选择需要拨付的医院!');
    return;
    }
    var jsonData = "";
             for(var i = 0, len = m.length; i < len; i++){
    var ss = JSON.stringify(m[i].data);
    if ( i==0 )
                jsonData = jsonData + ss;
        else
    jsonData = jsonData + "," + ss;
             }
    cmp_form.form.doAction('submit',{ 
       url:'<s:url value="/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提交。。
      

  4.   

    有可能是刷新了页面,你不妨设置 token拦截器试试
      

  5.   

    我用的是MVC3,你是不是引用了两次<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
    可能布局引用了_Layout.cshtml 提交表单的页面也引用了
      

  6.   

    http://www.360doc.com/content/10/0712/10/15103_38434853.shtml
      

  7.   

    ajax 中有一种缓存机制,而这种缓存机制会重提交,建议你换种ajax写法。