防止ajax重复提交

这里以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

猜你喜欢

转载自blog.csdn.net/badmoonc/article/details/80141136
今日推荐