浅谈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 相关文章推荐
延时重复执行函数 lLoopRun.js
May 08 Javascript
js 强制弹出窗口代码研究-又一款代码
Mar 20 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
Mar 24 Javascript
html+javascript实现可拖动可提交的弹出层对话框效果
Aug 05 Javascript
jquery实现倒计时代码分享
Jun 13 Javascript
js实现获取焦点后光标在字符串后
Sep 17 Javascript
js+html5操作sqlite数据库的方法
Feb 02 Javascript
关于angular js_$watch监控属性和对象详解
Apr 24 Javascript
Vue + Vue-router 同名路由切换数据不更新的方法
Nov 20 Javascript
javascript原型链学习记录之继承实现方式分析
May 01 Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
Dec 12 Javascript
解决vue props传Array/Object类型值,子组件报错的情况
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
php递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
详解PHP中的序列化、反序列化操作
2017/03/21 PHP
Thinkphp5+uploadify实现的文件上传功能示例
2018/05/26 PHP
PHP异常类及异常处理操作实例详解
2018/12/19 PHP
PDO::lastInsertId讲解
2019/01/29 PHP
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
2013/04/11 Javascript
使用JavaScript+canvas实现图片裁剪
2015/01/30 Javascript
基于jquery animate操作css样式属性小结
2015/11/27 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
JS获取地址栏参数的两种方法(简单实用)
2016/06/14 Javascript
Nodejs下用submit提交表单提示cannot post错误的解决方法
2016/11/21 NodeJs
jquery实现自适应banner焦点图
2017/02/16 Javascript
Angularjs为ng-click事件传递参数
2017/06/15 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
详解babel升级到7.X采坑总结
2019/05/12 Javascript
如何实现小程序与小程序之间的跳转
2020/11/04 Javascript
深入解析Python编程中super关键字的用法
2016/06/24 Python
python中关于for循环的碎碎念
2017/06/30 Python
Django实现组合搜索的方法示例
2018/01/23 Python
解决Python下imread,imwrite不支持中文的问题
2018/12/05 Python
python如何制作英文字典
2019/06/25 Python
使用HTML5做个画图板的方法介绍
2013/05/03 HTML / CSS
乌克兰数字设备、配件和智能技术的连锁商店:KTC
2020/08/18 全球购物
护理学毕业生自荐信
2013/10/02 职场文书
优秀的毕业生的自我评价
2013/12/12 职场文书
父亲八十大寿答谢词
2014/01/23 职场文书
优秀管理者获奖感言
2014/02/17 职场文书
小学生环保倡议书
2014/05/15 职场文书
基层党组织建设整改方案
2014/09/16 职场文书
四查四看整改措施
2014/09/19 职场文书
县委常委班子专题民主生活会查摆问题及整改措施
2014/09/27 职场文书
付款承诺函范文
2015/01/21 职场文书
大学三好学生主要事迹范文
2015/11/03 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
MySQL子查询中order by不生效问题的解决方法
2021/08/02 MySQL