[已解决]异步接口提交表单防止按钮过快点击造成多次重复提交的解决方法
时间: 作者:admin 浏览:
异步接口提交表单的时候,如果我们对按钮进行快速多次重复点击时,页面还没跳转但是$.ajax已经请求了很多次,导致数据库有多条相同的数据,就是因为在点击提交的时候进行了多次点击造成的,所以我们要用锁来防止多次点击触发多次$.ajax异步接口的请求;这里提供一种解决办法:
$(seletor).on("click",function(){
var self=$(this);
if(self.hasClass("flag")){
return false;
}
//这里可以放提交之前的一些验证代码
//………………………………
//………………………………
//………………………………
self.addClass("flag");
$.ajax({
type:"post",
url:"",
beforeSend:function(){
},
success:function(result){
//成功之后的代码
//………………………………
//………………………………
//………………………………
self.removeClass("flag");//成功之后可以删除,如果是提交之后跳转页面的可以不加这段代码
},
complete:function(){
self.removeClass("flag");//完成之后可以删除,如果是提交之后跳转页面的可以不加这段代码
}
});
})