首页 > Web开发 > 详细

Ajax的beforeSend 和 complete

时间:2019-03-22 12:40:30      阅读:227      评论:0      收藏:0      [点我收藏+]

前端的童鞋们:在项目中都会遇到向后台请求数据:

通常会采用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");
    },
});

 

目前只采用了这两种方式:若有遗落,欢迎补充

 

Ajax的beforeSend 和 complete

原文:https://www.cnblogs.com/Chestnut-LYN/p/10577394.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!