沃梦达 / IT编程 / 前端开发 / 正文

js如何防止ajax重复提交表单

很多开发者在做表单提交数据到后台的时候,会出现多提交一次,多一条数据的情况,这种原因的是因为服务端未能及时响应结果(网络延迟,并发排队等因素),导致前端页面没有及时刷新,用户有机会多次提交表单如果提交对

很多开发者在做表单提交数据到后台的时候,会出现多提交一次,多一条数据的情况,这种原因的是因为服务端未能及时响应结果(网络延迟,并发排队等因素),导致前端页面没有及时刷新,用户有机会多次提交表单

如果提交对象为按钮的话,可以对按钮设置disabled,此办法适应于按钮提交,此种方法简单粗暴,也是很多人用的办法:

$(".sub").attr('disabled',true)//在按钮提交之后和AJAX提交之前将按钮设置为禁用
$.ajax({
	url:'/post.php'
	data:{a:1,b,1}
	success:function(){
		$(".sub").attr('disabled',false)//在提交成功之后重新启用该按钮
	},
	error: function(){
		$(".sub").attr('disabled',false)//即使AJAX失败也需要将按钮设置为可用状态,因为有可能是网络问题导致的失败,所以需要将按钮设置为可用
	}
})



本文标题为:js如何防止ajax重复提交表单