AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > JavaScript

浅谈jQuery中ajaxPrefilter的应用

51自学网 http://www.wanshiok.com
jquery,ajaxprefilter

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的应用就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持wanshiok.com。


jquery,ajaxprefilter  
上一篇:js实现千分符和保留几位小数的简单实例  下一篇:AngularJS基础 ng-cloak 指令简单示例