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); } });
以上这篇浅析巧用Ajax的beforeSend提高用户体验就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
问题内容: 为了解决CSRF问题,我为Ajax使用了客户端设置: 直到今天,一切正常。但是现在我需要在发布之前做一些检查: CSRF验证失败。请求中止。据我了解,我只是取消了ajaxSetup对新功能的操作。如何将这两件事结合起来? 问题答案: 使用代替。 如您所说,定义了默认处理程序,然后可以将其覆盖。使用,您可以注册多个处理程序以在发送ajax请求之前触发。与自定义处理程序配合正常。
问题内容: 假设我有一个来自jQuery的Ajax调用,如下所示: 我希望能够使用添加到myData 结果应该是所有ajax调用(发布和获取)都被修改,所以如果我得到一个额外的参数IsAjax = true 问题答案: 这篇博客文章解释了如何使用添加数据。累积起来 就像这样:
本文向大家介绍浅析MongoDB用户管理,包括了浅析MongoDB用户管理的使用技巧和注意事项,需要的朋友参考一下 1. 创建一个超级用户 超级用户的role有两种,userAdmin或者userAdminAnyDatabase(比前一种多加了对所有数据库的访问)。 db是指定数据库的名字,admin是管理数据库。 2. 用新创建的用户登录 3. 查看当前用户的权限 4. 创建一般用户,也是用cr
主要内容:1.系统拆分,2.解耦,3.异步,4.重试,5.补偿,6.备份,7.多活策略,8.隔离,9.限流,10.熔断,11.降级1.系统拆分 微服务架构,将一个复杂的业务域按DDD的思想拆分成若干子系统,每个子系统负责专属的业务功能,做好垂直化建设,各个子系统之间做好边界隔离,降低风险蔓延。 2.解耦 高内聚、低耦合。小到接口抽象、MVC 分层,大到 SOLID 原则、23种设计模式。核心都是降低不同模块间的耦合度,避免一处错误改动影响到整个系统。 就以开闭原则为例,对扩展是开放的,对修改是关
本文向大家介绍浅析Python迭代器的高级用法,包括了浅析Python迭代器的高级用法的使用技巧和注意事项,需要的朋友参考一下 跳过开头 首先是跳过开始部分,这个在我们读取文本的时候最常用。在实际的应用当中,比如记录的日志或者是代码等等,一般来说头部都会附上一段说明,或者用注释标注或者是用特殊的符号标记。这些信息是给用到数据的程序员看的,当我们通过代码获取数据的时候,显然是希望可以过滤掉这些信息的
本文向大家介绍提高Node.js性能的应用技巧分享,包括了提高Node.js性能的应用技巧分享的使用技巧和注意事项,需要的朋友参考一下 一、实现一个反向代理服务器 相比大多数应用服务器,Node.js 可以很轻松的处理大量的网络流量,但这并不是 Node.js 的设计初衷。 如果你有一个高流量的站点,提高性能的第一步是在你的 Node.js 前面放一个反向代理服务器。这可以保护你的 Node.js