巧用Ajax的beforeSend 提高用户体验--防止重复数据
2024-09-04 09:19:26
巧用Ajax的beforeSend 提高用户体验
jQuery是经常使用的一个开源js框架,其中的$.ajax请求中有一个beforeSend方法,用于在向服务器发送请求前执行一些动作。
具体可参考jQuery官方文档:http://api.jquery.com/Ajax_Events/
$.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) {
console.info("error: " + data.responseText);
}
});
转自:https://www.cnblogs.com/fanyong/p/3883670.html
最新文章
- C++基础知识(5)---类和对象
- 如何用Perl对Excel的数据进行提取并分析
- vue的transition过渡效果
- C#版的eval,C#Light开源嵌入式脚本,unity热更新不再愁
- 分享使用Entity Framework的一个坑:Include无效
- winserver 2008 r2 iis7.5 实现php wordpress url静态化操作步骤(UrlRewrite实现)
- C# ASP.NET系统缓存全解析
- 数据结构练习 01-复杂度2. Maximum Subsequence Sum (25)
- 如何使用Reaver-PJ-Wi-Fi网络的WPA密码
- 浅谈 js 字符串之神奇的转义
- iOS开发--XMPPFramework--好友模块(四)
- 织云 Metis:看腾讯怎么做智能运维
- 你不可不知的iOS与Android差异点!
- 2018年7月6日go语言学习
- 常被问到的十个 Java 面试题
- python基础学习之文件操作&;函数
- Win32线程安全问题.同步函数
- linux不同终端的操作是如何在messages日志中区分的
- Ubuntu16.04+CUDA8.0+cuDNN5.1+Python2.7+TensorFlow1.2.0环境搭建
- LeetCode:151_Reverse Words in a String | 字符串中单词的逆反 | Medium
热门文章
- Flutter移动电商实战 --(43)详细页_补充首页跳转到详细页
- vue---vue2.x自定义plugin,给vue添加全局方法,原型上增加全局方法
- CV3——学习笔记-续
- VS2015编译GDAL库出现宏重复定义 snprintf: 宏重定义
- Civil 3D百度云地址
- 阶段5 3.微服务项目【学成在线】_day17 用户认证 Zuul_06-用户认证-认证服务查询数据库-Bcrypt介绍
- QML之信号与槽
- js面向对象写法及栈的实现
- 【Leetcode_easy】748. Shortest Completing Word
- css+html 实现 光晕 光圈