前端的童鞋们:在项目中都会遇到向后台请求数据:
通常会采用ajax请求,在请求的过程中有时返回的数据过多或者用户网络慢的原因,导致页面一开始会有空白页面,这样给用户带来的体验不好
$.ajax请求中有一个beforeSend、complete方法,
1.提高用户体验
$.ajax({ url: url, type: "get", data:data async:true, //数据加载之前显示loading beforeSend: function() { //do something }, success: function(res) { //do something }, //数据加载完成之后loading隐藏 complete:function(){ //do something } })
2 .防止数据重复
当用户提交表单时,虽然点了提交按钮,但是因为网络慢的原因,会出现暂时没有返回数据,用户会认为没有点击成功,
就会造成数据库中产生多条重复的数据---脏数据,所以我们可以在beforeSend中添加禁用提交按钮的功能,在complete后在恢复之,
例如:
/ 提交表单数据到后台处理 $.ajax({ type: "get", data: data, url: url, beforeSend: function () { // 禁用按钮防止重复提交 $("button").attr({ disabled: "disabled" }); }, success: function (data) { if (data.code== 0) { //清空输入框 } }, complete: function () { $("button").removeAttr("disabled"); }, });
目前只采用了这两种方式:若有遗落,欢迎补充