浅谈jQuery中ajaxPrefilter的应用


Posted in Javascript onAugust 01, 2016

jQuery的定义了一个ajax过滤器ajaxPrefilter,通过该过滤器可以过滤通过jQuery相应的ajax函数发送的ajax请求。

在项目中,很多地方存在指定开始时间、结束时间来获取该时间区间内某些值随时间变化的过程线的需求,我们可以定义一个通用的ajaxPrefilter来过滤所有ajax请求,当开始时间超过结束时间的时候,便将该ajax请求abort。

$.ajaxPrefilter(function (options, originalOptions, jqXHR) { //tm1、tm2表示开始时间、结束时间
  var requestType, params, startTime, endTime;
  requestType = (originalOptions.type || "").toUpperCase(); //jsonp的时候type为undefined
  if (requestType === "GET") {
    params = originalOptions.data ? $.param(originalOptions.data) : originalOptions.url;
  } else if (requestType === "POST") {
    params = $.param(originalOptions.data);
  }
  if (params) {
    startTime = params.match(/(^tm1|&tm1)=([^&#]*)/i) ? decodeURIComponent(params.match(/(^tm1|&tm1)=([^&#]*)/i)[2].replace(/\+/g, "%20")) : null;
    endTime = params.match(/(^tm2|&tm2)=([^&#]*)/i) ? decodeURIComponent(params.match(/(^tm2|&tm2)=([^&#]*)/i)[2].replace(/\+/g, "%20")) : null;
    if (startTime && endTime) {
      startTime = startTime.replace(/\-/g, "/");
      endTime = endTime.replace(/\-/g, "/");
      if (new Date(startTime).getTime() > new Date(endTime).getTime()) {
        jqXHR.abort();
        alert("开始时间不能大于结束时间");
      }
    }
  }
});

以上这篇浅谈jQuery中ajaxPrefilter的应用就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery 上下滚动广告
Jun 17 Javascript
Js如何判断客户端是PC还是手持设备简单分析
Nov 22 Javascript
JS+CSS 制作的超级简单的下拉菜单附图
Nov 22 Javascript
浅谈jQuery事件绑定原理
Jan 02 Javascript
jQuery的事件委托实例分析
Jul 15 Javascript
jQuery通用的全局遍历方法$.each()用法实例
Jul 04 Javascript
利用jquery获取select下拉框的值
Nov 23 Javascript
前端js弹出框组件使用方法
Aug 24 Javascript
vue.js中实现登录控制的方法示例
Apr 23 Javascript
JavaScript快速调试的两个技巧
Nov 04 Javascript
对vue生命周期的深入理解
Dec 03 Vue.js
小程序实现筛子抽奖
May 26 Javascript
AngularJS基础 ng-cloak 指令简单示例
Aug 01 #Javascript
全面接触神奇的Bootstrap导航条实战篇
Aug 01 #Javascript
JavaScript数值千分位格式化的两种简单实现方法
Aug 01 #Javascript
第一次接触神奇的Bootstrap菜单和导航
Aug 01 #Javascript
AngularJS基础 ng-click 指令示例代码
Aug 01 #Javascript
js 实现数值的千分位及保存小数方法(推荐)
Aug 01 #Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
Aug 01 #Javascript
You might like
php+xml实现在线英文词典查询的方法
2015/01/23 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
2016/04/30 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
jquery tools系列 expose 学习
2009/09/06 Javascript
jQuery学习3:操作元素属性和特性
2010/02/07 Javascript
自制基于jQuery的智能提示插件一枚
2011/02/18 Javascript
JavaScript更改原始对象valueOf的方法
2015/03/19 Javascript
jquery zTree异步加载、模糊搜索简单实例分享
2016/03/24 Javascript
jquery判断checkbox是否选中及改变checkbox状态的实现方法
2016/05/26 Javascript
js格式化时间的简单实例
2016/11/27 Javascript
JS实现鼠标移上去显示图片或微信二维码
2016/12/14 Javascript
javascript防篡改对象实例详解
2017/04/10 Javascript
vue中使用mxgraph的方法实例代码详解
2019/05/17 Javascript
解决layui 表单元素radio不显示渲染的问题
2019/09/04 Javascript
ES5新增数组的实现方法
2020/05/12 Javascript
[00:32]2016完美“圣”典风云人物:Maybe宣传片
2016/12/05 DOTA
在Python中关于中文编码问题的处理建议
2015/04/08 Python
Python中操作文件之write()方法的使用教程
2015/05/25 Python
python3 pillow生成简单验证码图片的示例
2017/09/19 Python
PyTorch快速搭建神经网络及其保存提取方法详解
2018/04/28 Python
Python3匿名函数用法示例
2018/07/25 Python
对python读取CT医学图像的实例详解
2019/01/24 Python
python双端队列原理、实现与使用方法分析
2019/11/27 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
2020/04/20 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
巴西宠物店在线:Geração Pet
2017/05/31 全球购物
微软美国官方网站:Microsoft美国
2018/05/10 全球购物
结婚邀请函范文
2014/01/14 职场文书
教师先进工作者事迹材料
2014/05/01 职场文书
小班评语大全
2014/05/04 职场文书
微电影大赛策划方案
2014/06/05 职场文书
迎国庆横幅标语
2014/10/08 职场文书
法制教育主题班会
2015/08/13 职场文书
《圆的周长》教学反思
2016/02/17 职场文书
浅谈Vue的computed计算属性
2022/03/21 Vue.js
Windows Server 版本 20H2 于 8 月 9 日停止支持,Win10 版本 21H1 将于 12 月结束支
2022/07/23 数码科技