浅谈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 相关文章推荐
JavaScript Undefined,Null类型和NaN值区别
Oct 22 Javascript
js 刷新页面的代码小结 推荐
Apr 02 Javascript
循环 vs 递归浅谈
Feb 28 Javascript
Egret引擎开发指南之编译项目
Sep 03 Javascript
javascript记录文本框内文字个数检测文字个数变化
Oct 14 Javascript
详解Bootstrap创建表单的三种格式(一)
Jan 04 Javascript
JavaScript自学笔记(必看篇)
Jun 23 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
Nov 07 Javascript
详解angular路由高亮之RouterLinkActive
Apr 28 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
Jul 04 Javascript
javascript获取select值的方法完整实例
Jun 20 Javascript
es6中Promise 对象基本功能与用法实例分析
Feb 23 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 UTF8中文字符截断函数代码
2012/09/11 PHP
PHP依赖倒置(Dependency Injection)代码实例
2014/10/11 PHP
php+ajax实现无刷新的新闻留言系统
2020/12/21 PHP
ThinkPHP中session函数详解
2016/09/14 PHP
PHP中危险的file_put_contents函数详解
2017/11/04 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
2018/04/20 PHP
javascript document.images实例
2008/05/27 Javascript
JavaScript 数组运用实现代码
2010/04/13 Javascript
JS 控件事件小结
2012/10/31 Javascript
javascripit实现密码强度检测代码分享
2013/12/12 Javascript
javascript实现时间格式输出FormatDate函数
2015/01/13 Javascript
jQuery实现的导航动画效果(附demo源码)
2016/04/01 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
JS判断来路是否是百度等搜索索引进行弹窗或自动跳转的实现代码
2016/10/09 Javascript
JS设置时间无效问题的解决办法
2017/02/18 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件功能
2021/02/23 Vue.js
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
Python操作串口的方法
2015/06/17 Python
Python对文件操作知识汇总
2016/05/15 Python
Python实现快速排序的方法详解
2019/10/25 Python
python 追踪except信息方式
2020/04/25 Python
python中numpy.empty()函数实例讲解
2021/02/05 Python
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
面向游戏玩家和书呆子的极客订阅盒:Loot Crate
2020/11/25 全球购物
中学生学习生活的自我评价
2013/10/26 职场文书
光信息科学与技术专业职业生涯规划
2014/03/13 职场文书
爱牙日活动总结
2014/08/29 职场文书
大学生创业事迹材料
2014/12/30 职场文书
经理聘任证明
2015/03/02 职场文书
欢送领导祝酒词
2015/08/12 职场文书
行为规范主题班会
2015/08/13 职场文书
2016年第二十五次全国助残日活动总结
2016/04/01 职场文书
Python中os模块的简单使用及重命名操作
2021/04/17 Python
Python图片处理之图片裁剪教程
2021/05/27 Python