发布于 2017-03-07 08:28:48 | 79 次阅读 | 评论: 0 | 来源: 网友投递
jQuery javascript框架
jQuery是一个兼容多浏览器的javascript框架,核心理念是write less,do more(写得更少,做得更多)。jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由Dave Methvin率领团队进行开发。
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的应用就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持phperz。