博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery中ajaxPrefilter的应用
阅读量:5270 次
发布时间:2019-06-14

本文共 1475 字,大约阅读时间需要 4 分钟。

jQuery的定义了一个ajax过滤器ajaxPrefilter,通过该过滤器可以过滤通过jQuery相应的ajax函数发送的ajax请求。

在项目中,很多地方存在指定开始时间、结束时间来获取该时间区间内某些值随时间变化的过程线的需求,我们可以定义一个通用的ajaxPrefilter来过滤所有ajax请求,当开始时间超过结束时间的时候,便将该ajax请求abort。

1 $.ajaxPrefilter(function (options, originalOptions, jqXHR) {  //tm1、tm2表示开始时间、结束时间 2     var requestType, params, startTime, endTime; 3     requestType = (originalOptions.type || "").toUpperCase(); //jsonp的时候type为undefined 4     if (requestType === "GET") { 5         params = originalOptions.data ? $.param(originalOptions.data) : originalOptions.url; 6     } else if (requestType === "POST") { 7         params = $.param(originalOptions.data); 8     } 9     if (params) {10         startTime = params.match(/(^tm1|&tm1)=([^&#]*)/i) ? decodeURIComponent(params.match(/(^tm1|&tm1)=([^&#]*)/i)[2].replace(/\+/g, "%20")) : null;11         endTime = params.match(/(^tm2|&tm2)=([^&#]*)/i) ? decodeURIComponent(params.match(/(^tm2|&tm2)=([^&#]*)/i)[2].replace(/\+/g, "%20")) : null;12         if (startTime && endTime) {13             startTime = startTime.replace(/\-/g, "/");14             endTime = endTime.replace(/\-/g, "/");15             if (new Date(startTime).getTime() > new Date(endTime).getTime()) {16                 jqXHR.abort();17                 alert("开始时间不能大于结束时间");18             }19         }20     }21 });

通过正则匹配的方式,获得开始时间tm1和结束时间tm2,replace(/\-/g, "/")是将"2015-08-02"这种格式的时间转换为"2015/08/02",不然的话,在ie等浏览器下,不能正确的转换为Date对象。

 

转载于:https://www.cnblogs.com/clumiere/p/4696206.html

你可能感兴趣的文章
分布式计算开源框架Hadoop介绍
查看>>
安卓平台接口剖析
查看>>
linux文件编码查看与修改
查看>>
[Java] 系统环境变量配置
查看>>
坏的事情不都会带来坏的结果
查看>>
RPC的基础:调研EOS插件http_plugin
查看>>
HIT1946 希尔伯特分形曲线(dfs)
查看>>
第二次团队冲刺第二天
查看>>
青瓷引擎之纯JavaScript打造HTML5游戏第二弹——《跳跃的方块》Part 2
查看>>
bzoj 2257 (JSOI 2009) 瓶子与燃料
查看>>
11)Java abstract class 和 interface
查看>>
使用xrdp或Xmanager 远程连接 CentOS6
查看>>
SEH简单研究
查看>>
Linux误删恢复
查看>>
Unity调用Windows窗口句柄,选择文件和目录
查看>>
HashMap循环遍历方式
查看>>
React Native 入门 调试项目
查看>>
C# 通过 Quartz .NET 实现 schedule job 的处理
查看>>
关于java之socket输入流输出流可否放在不同的线程里进行处理
查看>>
目前为止用过的最好的Json互转工具类ConvertJson
查看>>