浅谈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倒数计时按钮setTimeout的实例代码
Jul 04 Javascript
js实现的捐赠管理完整实例
Jan 20 Javascript
使用JavaScript 实现的人脸检测
Mar 24 Javascript
Node.js实现数据推送
Apr 14 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
Apr 17 Javascript
jQuery文字提示与图片提示效果实现方法
Jul 04 Javascript
JS数组交集、并集、差集的示例代码
Aug 23 Javascript
微信小程序关键字变色实现代码实例
Dec 13 Javascript
在VUE style中使用data中的变量的方法
Jun 19 Javascript
记录一次websocket封装的过程
Nov 23 Javascript
基于javascript实现移动端轮播图效果
Dec 21 Javascript
vue实现水波涟漪效果的点击反馈指令
May 31 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
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
2014/04/29 PHP
ThinkPHP分组下自定义标签库实例
2014/11/01 PHP
PHP网络操作函数汇总
2015/05/18 PHP
PHP页面转UTF-8中文编码乱码的解决办法
2015/10/20 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
利用js获取服务器时间的两个简单方法
2010/01/08 Javascript
仿百度的关键词匹配搜索示例
2013/09/25 Javascript
js函数返回多个返回值的示例代码
2013/11/05 Javascript
js控制容器隐藏出现防止样式变化的两种方法
2014/04/25 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
2015/12/08 Javascript
Express URL跳转(重定向)的实现方法
2017/04/07 Javascript
关于Stream和Buffer的相互转换详解
2017/07/26 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
2018/02/10 Javascript
[00:42]《辉夜杯》—职业组预选赛12月3日15点 正式打响
2015/12/03 DOTA
[36:09]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
web.py在模板中输出美元符号的方法
2014/08/26 Python
python实现定时提取实时日志程序
2018/06/22 Python
利用Python实现微信找房机器人实例教程
2019/03/10 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
django自带serializers序列化返回指定字段的方法
2019/08/21 Python
Python SSL证书验证问题解决方案
2020/01/13 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
Python sublime安装及配置过程详解
2020/06/29 Python
如何使用pycharm连接Databricks的步骤详解
2020/09/23 Python
美国鲍勃商店:Bob’s Stores
2018/07/22 全球购物
史上最全面的Java面试题汇总!
2015/02/03 面试题
物流管理专业大学生自荐信
2013/10/04 职场文书
网络信息管理员岗位职责
2014/01/05 职场文书
大学生演讲稿范文
2014/01/11 职场文书
追悼会子女答谢词
2014/01/28 职场文书
工作表扬信范文
2015/01/17 职场文书
风之谷观后感
2015/06/11 职场文书
国庆节新闻稿
2015/07/17 职场文书
2016年中学植树节活动总结
2016/03/16 职场文书
Python 如何安装Selenium
2021/05/06 Python
利用 JavaScript 构建命令行应用
2021/11/17 Javascript