ajax绑定事件页面重复提交,单次点击多次提交ajax请求处理,解决点击事件重复监听...

$("#addNote").on("click",function () {

$.ajax({

url: location,

type: "put",

data:{

"title":$("#artcleTitle").v

"content":$("#mainArticle")

},

dataType:"json",

success:function (result) {

console.log(result);

}

});

});

在点击事件里面直接套用ajax请求,这样造成的后果就是,点击第一次就提交一次,点击第两次提交两次,点击第三次提交三次请求,如此类推。

原因是因为在点击事件内绑定了ajax请求,造成重复绑定,事件重复监听。

解决办法也简单,只要在绑定点击事件之前取消绑定即可,代码如下

$("#addNote").off("click").on("click",function () {

});

$("#addNote").off("click").on("click",function () {

$.ajax({

url: location,

type: "put",

data:{

"title":$("#artcleTitle").v

"content":$("#mainArticle")

},

dataType:"json",

success:function (result) {

console.log(result);

}

});

});

为了更直观的看见效果,做了demo测试。

//js

$("#button1").on("click",function () {

$("#button2").off("click").on("click",function () {

alert("222");

});

$("#button3").on("click",function () {

alert("333");

});

});

//html

button1

button2

button3