浅谈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 相关文章推荐
XML+XSL 与 HTML 两种方案的结合
Apr 22 Javascript
从父页面读取和操作iframe中内容方法
Jul 25 Javascript
jquery动态更换设置背景图的方法
Mar 25 Javascript
在Node.js应用中读写Redis数据库的简单方法
Jun 30 Javascript
在jQuery中处理XML数据的大致方法
Aug 14 Javascript
学习JavaScript设计模式之迭代器模式
Jan 19 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
May 12 Javascript
微信小程序  action-sheet详解及实例代码
Nov 09 Javascript
JavaScript运动框架 多值运动(四)
May 18 Javascript
Angular2之二级路由详解
Aug 31 Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
Oct 30 Javascript
vue form表单post请求结合Servlet实现文件上传功能
Jan 22 Vue.js
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
环境会对咖啡种植有什么影响
2021/03/03 咖啡文化
destoon调用discuz论坛中带图片帖子的实现方法
2014/08/21 PHP
Linux中为php配置伪静态
2014/12/17 PHP
php输出xml属性的方法
2015/03/19 PHP
Zend Framework教程之资源(Resources)用法实例详解
2016/03/14 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
HTML TO JavaScript 转换
2006/06/26 Javascript
解决 FireFox 下[使用event很麻烦] 的问题.
2006/08/22 Javascript
网络之美 JavaScript中Get和Set访问器的实现代码
2010/09/19 Javascript
JavaScript组合拼接字符串的效率对比测试
2014/11/06 Javascript
纯javascript制作日历控件
2015/07/17 Javascript
JQuery 设置checkbox值二次无效的解决方法
2016/07/22 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
AngularJS ng-style中使用filter
2016/09/21 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
2018/04/27 Javascript
AngularJS实现的base64编码与解码功能示例
2018/05/17 Javascript
python实现复制整个目录的方法
2015/05/12 Python
Python列表切片用法示例
2017/04/19 Python
Python 私有函数的实例详解
2017/09/11 Python
对pandas中apply函数的用法详解
2018/04/10 Python
Flask框架学习笔记之模板操作实例详解
2019/08/15 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
css3实现的下拉菜单效果示例
2014/01/22 HTML / CSS
Timberland美国官网:全球领先的户外品牌
2016/08/15 全球购物
Speedo速比涛中国官方网站:全球领先泳装运动品牌
2018/04/24 全球购物
绿色城市实施方案
2014/03/19 职场文书
法人委托书范本
2014/04/04 职场文书
工厂采购员岗位职责
2014/04/08 职场文书
统计员岗位职责
2015/02/11 职场文书
合理缓解职场压力,让你随时保持最佳状态!
2019/06/21 职场文书
mysql中int(3)和int(10)的数值范围是否相同
2021/10/16 MySQL
Java 使用类型为Object的变量指向任意类型的对象
2022/04/13 Java/Android