jQuery1.5 以后,Ajax 模块提供了三个新的方法用于管理、扩展 Ajax 请求,分别是:
前置过滤器 jQuery. ajaxPrefilter 请求分发器 jQuery. ajaxTransport, 类型转换器 ajaxConvert
为什么会出现这几个新的概念?因为 ajax 在发送的过程还有很多一系列的处理。
具体看看代码:
jQuery.extend({
//前置过滤器
ajaxPrefilter: addToPrefiltersOrTransports(prefilters),
//请求分发器
ajaxTransport: addToPrefiltersOrTransports(transports),
});
其实说白了就是把对应的方法制作成函数的形式填充到 prefilters 或者 transports对应的处理包装对象中,用的时候直接执行,每个函数都保持着各自的引用,种写法的好处自然是灵活,易维护,减少代码量。
所以此时的 prefilters 中的结构可以是这样。
prefilters = {
'*': function() {
return {
send: function() {
},
callback: function() {
}
}
}
}
前置过滤器和请求分发器在执行时,分别遍历内部变量 prefilters 和 transports,这两个变量在 jQuery 加载完毕后立即初始化,从过闭包的方法填充这个 2 个对象。
请验证,完成请求
由于请求次数过多,请先验证,完成再次请求
打开微信扫码自动绑定
绑定后可得到
使用 Ctrl+D 可将课程添加到书签
举报