Jquery中巧用Ajax的beforeSend方法


Posted in Javascript onJanuary 20, 2016

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

方法beforeSend,用于在向服务器发送请求前添加一些处理函数,希望通过这篇文章加深大家对beforeSend方法的学习认识。

Javascript 相关文章推荐
用 JavaScript 迁移目录
Dec 18 Javascript
EasyUI中的tree用法介绍
Nov 01 Javascript
jquery创建表格(自动增加表格)代码分享
Dec 25 Javascript
javascript学习笔记(五)原型和原型链详解
Oct 08 Javascript
jQuery定义背景动态切换效果的方法
Mar 23 Javascript
JavaScript中Function函数与Object对象的关系
Dec 17 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
May 30 Javascript
Vue.js学习之过滤器详解
Jan 22 Javascript
JavaScript 实现 Tab 点击切换实例代码
Mar 25 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
Apr 21 Javascript
JS访问对象两种方式区别解析
Aug 29 Javascript
Vue Element校验validate的实例
Sep 21 Javascript
Javascript中神奇的this
Jan 20 #Javascript
javascript实现图片轮播效果
Jan 20 #Javascript
JS获取鼠标坐标位置实例分析
Jan 20 #Javascript
属于你的jQuery提示框(Tip)插件
Jan 20 #Javascript
学习JavaScript设计模式之模板方法模式
Jan 20 #Javascript
高性能JavaScript循环语句和条件语句
Jan 20 #Javascript
详解Javascript模板引擎mustache.js
Jan 20 #Javascript
You might like
smarty简单入门实例
2014/11/28 PHP
PHP实现服务器状态监控的方法
2014/12/09 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
2017/04/01 PHP
用javascript实现的图片马赛克后显示并切换加文字功能
2007/04/21 Javascript
JavaScript Event学习第四章 传统的事件注册模型
2010/02/07 Javascript
Jquery遍历Json数据的方法
2015/04/20 Javascript
jscript读写二进制文件的方法
2015/04/22 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
jQuery validate插件实现ajax验证重复的2种方法
2016/01/22 Javascript
javascript实现一个简单的弹出窗
2016/02/22 Javascript
javascript判断回文数详解及实现代码
2017/02/03 Javascript
JS中SetTimeout和SetInterval使用初探
2017/03/23 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
2018/02/26 Javascript
VUE引入第三方js包及调用方法讲解
2019/03/01 Javascript
微信小程序实现购物车代码实例详解
2019/08/29 Javascript
js实现文章目录索引导航(table of content)
2020/05/10 Javascript
Python处理Excel文件实例代码
2017/06/20 Python
Python 多线程,threading模块,创建子线程的两种方式示例
2019/09/29 Python
python3 求约数的实例
2019/12/05 Python
解决tensorboard多个events文件显示紊乱的问题
2020/02/15 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
2020/03/18 Python
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
介绍一下代理模式(Proxy)
2014/10/17 面试题
西安当代医院管理研究院笔试题
2015/12/11 面试题
党员入党表决心的话
2014/03/11 职场文书
旅游管理毕业生自荐信范文
2014/03/19 职场文书
国际会计专业求职信
2014/08/04 职场文书
企业挂职心得体会
2014/09/10 职场文书
上班离岗检讨书
2014/09/10 职场文书
教师群众路线教育实践活动学习笔记
2014/11/05 职场文书
家长通知书家长意见
2014/12/30 职场文书
社区母亲节活动总结
2015/02/10 职场文书
信息技术国培研修日志
2015/11/13 职场文书
JavaScript+HTML实现学生信息管理系统
2021/04/20 Javascript
一文搞懂python异常处理、模块与包
2021/06/26 Python
golang语言指针操作
2022/04/14 Golang