浅谈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的点击链接插入链接内容的代码
Jul 31 Javascript
jQuery大于号(>)选择器的作用解释
Jan 13 Javascript
浅析JavaScript中的对象类型Object
May 26 Javascript
jQuery插件扩展实例【添加回调函数】
Nov 26 Javascript
基于jquery二维码生成插件qrcode
Jan 07 Javascript
jQuery弹出层插件popShow用法示例
Jan 23 Javascript
vue中用动态组件实现选项卡切换效果
Mar 25 Javascript
js实现倒计时关键代码
May 05 Javascript
JavaScript设计模式之策略模式详解
Jun 09 Javascript
关于vue状态过渡transition不起作用的原因解决
Apr 09 Javascript
解决vue-photo-preview 异步图片放大失效的问题
Jul 29 Javascript
element中table高度自适应的实现
Oct 21 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数据结构与算法(PHP描述) 快速排序 quick sort
2012/06/21 PHP
php登录超时检测功能实例详解
2017/03/21 PHP
js Date自定义函数 延迟脚本执行
2010/03/10 Javascript
通过下拉框的值来确定输入框是否可以为空的代码
2011/10/18 Javascript
基于jquery实现点击左右按钮图片横向滚动
2013/04/11 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
jquery中$.post()方法的简单实例
2014/02/04 Javascript
js动态创建标签示例代码
2014/06/09 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
js倒计时抢购实例
2015/12/20 Javascript
第一次接触神奇的Bootstrap网格系统
2016/07/27 Javascript
用JavaScript做简易的购物车的代码示例
2017/10/20 Javascript
解决vue项目报错webpackJsonp is not defined问题
2018/03/14 Javascript
详解angular应用容器化部署
2018/08/14 Javascript
微信小程序实现选项卡效果
2018/11/06 Javascript
JavaScript使用ul中li标签实现删除效果
2019/04/15 Javascript
layui 对table中的数据进行转义的实例
2019/09/12 Javascript
详解搭建一个vue-cli的移动端H5开发模板
2020/01/17 Javascript
js实现滑动进度条效果
2020/08/21 Javascript
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
2020/08/28 Javascript
Python MySQLdb Linux下安装笔记
2015/05/09 Python
python中sys.argv函数精简概括
2018/07/08 Python
对Tensorflow中的变量初始化函数详解
2018/07/27 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
python time()的实例用法
2020/11/03 Python
最好的意大利皮夹克:D’Arienzo
2018/12/04 全球购物
珍珠奶茶店创业计划书
2014/01/11 职场文书
25岁生日感言
2014/01/13 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
社区反邪教工作方案
2014/06/16 职场文书
学校机关党总支领导班子整改工作方案
2014/10/26 职场文书
会议欢迎词范文
2015/01/27 职场文书
员工考勤管理制度
2015/08/06 职场文书
2016党员入党决心书
2015/09/22 职场文书
一道JS算法面试题——冒泡、选择排序
2021/04/21 Javascript
Nginx的gzip相关介绍
2022/05/11 Servers