描述:进行数据交互时如果交互时间长,响应慢的话,用户点击提交按钮误认为自己没有操作成功,就会重复点击按钮,造成重复数据。解决的办法是在用ajax请求时,在交互结束之前出现一个转动的loading小图标或者“内容加载中..”的弹框,用来告知用户正在请求数据,在交互结束后这个弹框就会消失。
解决办法:$.ajax的方法beforeSend 和 complete 。beforeSend,用于在向服务器发送请求前添加一些处理函数,complete ,用于服务器完成响应后执行的函数。
$.ajax({
type:"post",
url:"xxx",
data:dataParams,
dataType:"json",
async:false,
beforeSend: function () {
// 提交数据前显示loading...
},
success:function(res){
//数据提交成功
},
complete: function () {
//响应完成后关闭loading...的显示
},
error:function(){
}
});