我使用(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,
有人遇到过类似的问题吗? 是什么原因造成的?
答案 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);