首页 > 其他分享 >巧用Ajax的beforeSend 提高用户体验

巧用Ajax的beforeSend 提高用户体验

时间:2022-10-12 23:35:53浏览次数:134  
标签:function error ajax Ajax beforeSend 按钮 data 巧用

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);
}
});

 

模拟Toast效果

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

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

 

标签:function,error,ajax,Ajax,beforeSend,按钮,data,巧用
From: https://blog.51cto.com/u_15773967/5751863

相关文章

  • 【Vegas原创】Ajax实现无刷新三联动
    1.html代码:<SCRIPTlanguage="javascript">//部别------------------------------functionexcclassResult(){......
  • ajax 前后端交互
    前端<script>$('#id_edit').click(function(){$.ajax({url:'/set_password/',type:'post',data:{......
  • AJAX——简介
    AJAX 同步与异步 AJAX快速入门    ......
  • 尚硅谷-JavaWeb Day8 Filter、Json、Ajax
    1.Filter过滤器(JavaEE的规范,也是接口)作用:拦截请求、过滤响应;(应用于权限检查、日记操作、事务管理等等)①基本使用(通过判断session域中是否包含用户信......
  • 你敢说会用Excel?这11种工具和技巧用过几种?
    "IT有得聊”是机械工业出版社旗下IT专业资讯和服务平台,致力于帮助读者在广义的IT领域里,掌握更专业、实用的知识与技能,快速提升职场竞争力。 对于经常和数字打交道的人来说,E......
  • JSP项目实训-Ajax聊天室
    存档资料成绩:课程设计报告书所属课程名称JSP项目实训题目Ajax聊天室分院专业班级学号学生姓名......
  • Servlet Servlet生命周期、java用swith取代多个if else、重载与重写、AJAX定义、应用
    大家可分享关于Java微服务相关知识,包括但不限于Java微服务开发经验、架构组成、技术交流、中间件等内容,我们鼓励springcloud架构为基础发散出击,从而达到技术积累的目的,快来......
  • 异步访问技术Ajax(XMLHttpRequest)
    目录​​AJAX​​​​XMLHttpRequest ​​​​Ajax向服务器发送请求​​​​Ajax接收服务器响应​​​​AJAX-onreadystatechange事件 ​​​​使用Callback函数​​......
  • 巧用VBA实现:基于多个关键词模糊匹配Excel多行数据
    在用Excel处理实际业务中,我们会碰到如下场景:1、从一堆人名中找到包含某些关键字的名字;2、从银行流水文件中根据【备注】字段找到包含某些关键字的,统一识别为......
  • ajax的原理
    、概念Ajax全称“AsynchronousJavaScriptandXml”异步JavaScript和XML),是一门创建交互式网页的开发技术,可以在网页不加载的情况下,实现局部更新,进行少量的数据交换。2、......