这里以jquery的$.ajax方法为例说下我个人在平时阻止ajax重复提交的方法。
思路:通过使用一个外部变量(boolean值初始化为true,允许发送请求),来判断是否进行了ajax提交操作,开始进行提交操作时将boolean值设置为false,操作完成之后(无论成功还是失败),将boolean值重新设置为true
我们来看如下示例代码:
(function(){ var limit=true; $('#list').click(function(){ limit=false; if(limit){ $.ajax({ url:'demo.html', type:'POST', data:{}, success:function(res){ console.log('提交成功') }, error:function(){ console.log('提交失败'); }, complete:function(){ limit=true; } }) }else{ alert('请勿重复提交') } }); })();
这种方式是我个人日常比较喜欢的,因为使用起来比较简单,当然还有跟多大牛给的思路,这里推荐一个知乎的连接, 怎样防止重复提交ajax