一个ajax请求,但在服务器中收到两次,在添加新记录时导致重复记录

时间:2019-02-19 01:06:09

标签: javascript jquery ajax

我使用(jQuery)ajax请求来提交CRUD方法的表单。 但是我有一段时间了。 有时,一个ajax请求在服务器中被两次接收,从而在添加新记录时导致重复数据。 我已经使用Inspect Element进行了检查,以监视ajax请求,它仅显示一个请求。

这是ajax请求

        $.ajax({   
            type: "POST",
            data : data,
            cache: false,  
            async: true,
            processData: true,
            contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
            dataType: 'json',
            url: setting.url,

有人遇到过类似的问题吗? 是什么原因造成的?

1 个答案:

答案 0 :(得分:0)

如果您通过元素click事件触发ajax调用,建议您禁用按钮将使用.one()方法并在回调后重新绑定事件处理程序:

var clickHandler = function(e){
   $.ajax({
       url: url,
       type: 'POST',
       async: true,
       dataType: 'json',
       enctype: 'multipart/form-data'
       cache: false,
       success: function(data){
          $('#button1').one('click', clickHandler);
       },
      error: function(){}
   });   
   e.stopImmediatePropagation();
   return false;
 }
 $('#button1').one('click', clickHandler);