浅谈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 相关文章推荐
Js基础学习资料
Nov 23 Javascript
jQuery的链式调用浅析
Dec 03 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
Aug 18 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
Feb 25 Javascript
javascript实现动态改变层大小的方法
May 14 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
May 31 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
Mar 30 Javascript
详解vue静态资源打包中的坑与解决方案
Feb 05 Javascript
Vue-Router模式和钩子的用法
Feb 28 Javascript
elementUI 动态生成几行几列的方法示例
Jul 11 Javascript
微信小程序button标签open-type属性原理解析
Jan 21 Javascript
基于javascript处理nginx请求过程详解
Jul 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
PHP:风雨欲来 路在何方?
2006/10/09 PHP
PHP获取网卡地址的代码
2008/04/09 PHP
比file_get_contents稳定的curl_get_contents分享
2012/01/11 PHP
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
PHP通过GD库实现验证码功能示例
2019/02/23 PHP
javascript document.referrer 用法
2009/04/30 Javascript
javascript jscroll模拟html元素滚动条
2012/12/18 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
javascript中获取class的简单实现
2016/07/12 Javascript
jquery实现点击页面回到顶部
2016/11/23 Javascript
bootstrap treeview 扩展addNode方法动态添加子节点的方法
2017/11/21 Javascript
解决微信小程序防止无法回到主页的问题
2018/09/28 Javascript
nodejs 使用nodejs-websocket模块实现点对点实时通讯
2018/11/28 NodeJs
使用p5.js实现动态GIF图片临摹重现
2019/10/23 Javascript
JS数组扁平化、去重、排序操作实例详解
2020/02/24 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
用webAPI实现图片放大镜效果
2020/11/23 Javascript
python中日期和时间格式化输出的方法小结
2015/03/19 Python
python使用super()出现错误解决办法
2017/08/14 Python
python获取酷狗音乐top500的下载地址 MP3格式
2018/04/17 Python
Ubuntu下Python2与Python3的共存问题
2018/10/31 Python
利用arcgis的python读取要素的X,Y方法
2018/12/22 Python
Django中create和save方法的不同
2019/08/13 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
解决python web项目意外关闭,但占用端口的问题
2019/12/17 Python
numpy库reshape用法详解
2020/04/19 Python
模具专业推荐信
2013/10/30 职场文书
房地产开发计划书
2014/01/10 职场文书
高中运动会入场词
2014/02/14 职场文书
销售会计岗位职责
2014/03/15 职场文书
组织鉴定材料
2014/06/02 职场文书
酒店七夕情人节活动策划方案
2014/08/24 职场文书
大学生党员批评与自我批评
2014/09/28 职场文书
班干部竞选演讲稿(精选5篇)
2019/09/24 职场文书
html+css实现滚动到元素位置显示加载动画效果
2021/08/02 HTML / CSS
Win10本地连接不见了怎么恢复? win10系统电脑本地连接不见了解决方法
2023/01/09 数码科技