博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
巧用Ajax的beforeSend提高用户体验
阅读量:4876 次
发布时间:2019-06-11

本文共 1167 字,大约阅读时间需要 3 分钟。

jQuery是经常使用的一个开源js框架,其中的$.ajax请求中有一个beforeSend方法,用于在向服务器发送请求前执行一些动作。

$.ajax({     beforeSend:function(){     // handle the beforeSend event          },     complete:function(){// handle the complete event        }});

防止重复数据

在实际项目开发中,提交表单时常常由于网络或者其原因,用户点击提交按钮误认为自己没有操作成功,进而会重复提交按钮操作次数,如果页面前端代码没有做一些相应的处理,通常会导致多条同样的数据插入数据库,导致脏数据的增加。要避免这种现象,在$.ajax请求中的beforeSend方法中把提交按钮禁用掉,等到Ajax请求执行完毕,在恢复按钮的可用状态。

举个例子:

$.ajax({type:"post",data:studentInfo,contentType:"application/json",url:"/Home/Submit",beforeSend:function(){     //禁用按钮防止重复提交     $("#submit).attr({disabled:"disabled"});},success:function(data){     if(data=="Success"){          // 清空输入框          clearBox();     }},complete:function(){     $("#submit").removeAttr("disabled");},error:function(data){     consloe.info("error:"+data.responseText);}});

模拟Toast效果

ajax请求服务器加载数据列表时提示loading(“加载中,请稍后...”)

$.ajax({type:"post",contentType:"application/json",url:"/Home/GetList",beforeSend: function(){     $("loading").show();},success: function(data){     if (data=="Success"){          // ...     }},error: function(){     console.info("error:"+data.responseText);}});

转载于:https://www.cnblogs.com/xjuan/p/5438907.html

你可能感兴趣的文章
在Application中集成Microsoft Translator服务之使用http获取服务
查看>>
flask页面中Head标签内容为空问题
查看>>
Centos7 Putty SSH密钥登录
查看>>
HDU 6330--Visual Cube(构造,计算)
查看>>
小说Symbian的签名
查看>>
Objective-C中ORM的运用:实体对象和字典的相互自动转换
查看>>
高级java面试宝典
查看>>
声明,本博客文章均为转载,只为学习,不为其他用途。感谢技术大牛的技术分享,让我少走弯路。...
查看>>
centos7.1下 Docker环境搭建
查看>>
c# 导出Excel
查看>>
Status: Checked in and viewable by authorized users 出现在sharepoint 2013 home 页面
查看>>
python数据预处理
查看>>
Python之路,Day21 - 常用算法学习
查看>>
Android安全-代码安全1-ProGuard混淆处理
查看>>
部署core
查看>>
mysql 时间设置
查看>>
如何在 Xcode 中修改应用的名字
查看>>
[BZOJ5334][TJOI2018]数学计算(exgcd/线段树)
查看>>
[BZOJ4340][BJOI2015]隐身术(后缀数组)
查看>>
有关交换机——熟悉原理是必须的【转载】
查看>>