浅谈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 相关文章推荐
获取Javscript执行函数名称的方法
Dec 22 Javascript
js textarea自动增高并隐藏滚动条
Dec 16 Javascript
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
Dec 08 Javascript
js的image onload事件使用遇到的问题
Jul 15 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
Dec 29 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
Dec 21 Javascript
jQuery树控件zTree使用方法详解(一)
Feb 28 Javascript
详解webpack + vue + node 打造单页面(入门篇)
Sep 23 Javascript
vue.js element-ui tree树形控件改iview的方法
Mar 29 Javascript
JavaScript类的继承方法小结【组合继承分析】
Jul 11 Javascript
layui动态表头的实现代码
Aug 22 Javascript
vue遍历对象中的数组取值示例
Nov 07 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
smarty模板数学运算示例
2016/12/11 PHP
基于jquery的划词搜索实现(备忘)
2010/09/14 Javascript
JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
2013/02/05 Javascript
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
2013/06/06 Javascript
jquery通过a标签删除table中的一行的代码
2013/12/02 Javascript
JavaScript获取table中某一列的值的方法
2014/05/06 Javascript
nodejs文件操作模块FS(File System)常用函数简明总结
2014/06/05 NodeJs
jQuery实现伸展与合拢panel的方法
2015/04/30 Javascript
再谈JavaScript线程
2015/07/10 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
2015/09/14 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
2016/09/18 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
Bootstrap面板使用方法
2017/01/16 Javascript
vue页面离开后执行函数的实例
2018/03/13 Javascript
vue2.0 可折叠列表 v-for循环展示的实例
2018/09/07 Javascript
原生js实现碰撞检测
2020/03/12 Javascript
Vue 根据条件判断van-tab的显示方式
2020/08/03 Javascript
[00:52]玛尔斯技能全介绍
2019/03/06 DOTA
Python使用getpass库读取密码的示例
2017/10/10 Python
python去除字符串中的换行符
2017/10/11 Python
python实现石头剪刀布小游戏
2021/01/20 Python
Python分布式进程中你会遇到的问题解析
2019/05/28 Python
使用python telnetlib批量备份交换机配置的方法
2019/07/25 Python
Python缓存技术实现过程详解
2019/09/25 Python
完美解决keras 读取多个hdf5文件进行训练的问题
2020/07/01 Python
HTML5对手机页面长按会粘贴复制禁用的解决方法
2016/07/19 HTML / CSS
HTML5新增加的功能详解
2016/09/05 HTML / CSS
经贸日语专业个人求职信范文
2013/12/28 职场文书
应聘文员自荐信范文
2014/03/11 职场文书
家长会主持词开场白
2014/03/18 职场文书
商务专员岗位职责范本
2014/06/29 职场文书
国庆促销活动总结
2014/08/29 职场文书
工作失误检讨书范文
2015/01/26 职场文书
质量负责人岗位职责
2015/02/15 职场文书
MySQL分区表管理命令汇总
2022/03/21 MySQL
windows系统搭建WEB服务器详细教程
2022/08/05 Servers