- 3
- 0
- 约1.87万字
- 约 14页
- 2018-07-02 发布于上海
- 举报
15.4????????AJAX中的前置过滤器和请求分发器自jQuery1.5以后,AJAX模块提供了三个新的方法用于管理、扩展AJAX请求,分别是:???前置过滤器?jQuery. ajaxPrefilter???请求分发器?jQuery. ajaxTransport,???类型转换器?ajaxConvert这里先分析前置过滤器和请求分发器,类型转换器下一节再讲。15.4.1??前置过滤器和请求分发器的初始化前置过滤器和请求分发器在执行时,分别遍历内部变量prefilters和transports,这两个变量在jQuery加载完毕后立即初始化,初始化的过程很有意思。首先,prefilters和transports被置为空对象:prefilters = {},?//?过滤器transports = {},?//?分发器然后,创建jQuery.ajaxPrefilter和jQuery.ajaxTransport,这两个方法都调用了内部函数addToPrefiltersOrTransports,addToPrefiltersOrTransports返回一个匿名闭包函数,这个匿名闭包函数负责将单一前置过滤和单一请求分发器分别放入prefilters和transports。我们知道闭包会保持对它所在环境变量的引用,而jQuery.ajaxPrefilter和jQuery.ajaxTransport的实现又完全一样,都是对Map结构的对象进行赋值操作,因此这里利用闭包的特性巧妙的将两个方法的实现合二为一。函数addToPrefiltersOrTransports可视为模板模式的一种实现。ajaxPrefilter:?addToPrefiltersOrTransports( prefilters ),?//?通过闭包保持对prefilters的引用,将前置过滤器添加到prefiltersajaxTransport: addToPrefiltersOrTransports( transports ),?//?通过闭包保持对transports的引用,将请求分发器添加到transports?//?添加全局前置过滤器或请求分发器,过滤器的在发送之前调用,分发器用来区分ajax请求和script标签请求function?addToPrefiltersOrTransports( structure ) {????//?通过闭包访问structure????//?之所以能同时支持Prefilters和Transports,关键在于structure引用的时哪个对象????// dataTypeExpression is optional and defaults to *????// dataTypeExpression是可选参数,默认为*????return?function( dataTypeExpression, func ) {???????//?修正参数???????if?(?typeof?dataTypeExpression !==?string?) {???????????func = dataTypeExpression;???????????dataTypeExpression =?*;???????}????????if?( jQuery.isFunction( func ) ) {???????????var?dataTypes = dataTypeExpression.toLowerCase().split( rspacesAjax ),?//?用空格分割数据类型表达式dataTypeExpression??????????????i = 0,??????????????length = dataTypes.length,??????????????dataType,??????????????list,??????????????placeBefore;????????????// For each dataType in the dataTypeExpression???????????for(; i length; i++ ) {??????????????dataType = dataTypes[ i ];??????????????// We control if were asked to add before??????????????// any existing element??????????????//?如果以+开头,过滤+??????????????placeBefore =?/^\+/.test( dataType );??????????????if?( placeBefore ) {?????
您可能关注的文档
- 浙江省宁波市六校2017-2018年高二下学期期末联考历史试题.doc
- 蔗糖酶测定方法.doc
- 正午镇中心学校---期末考试考试试卷分析表(三年级常识).doc
- 知识管理-文献综述-罗维.pptx
- 浙江省2018届高考英语二轮复习总结:写作提升练(六)+Word版含答案.doc
- 质量守恒定律应用(09.11.20).doc
- 制药工程复习总结.doc
- 质量、密度、比热.doc
- 治理水运工程质量通病经验交流材料(沉箱重力式码头工程质量通病).doc
- 中国传统书籍装帧分类及影响.docx
- 《地域文化视角下主题公园景观设计的创新实践与案例分析》教学研究课题报告.docx
- 基于实验创新的初中化学实验教学改革与实践探索教学研究课题报告.docx
- 智能运动分析系统在初中长跑呼吸节奏训练中的应用课题报告教学研究课题报告.docx
- 2026年斯里兰卡语培训课程教学效果分析报告.docx
- 初中英语影视配音中语音语调模仿对学习动机激发的课题报告教学研究课题报告.docx
- 2026年建筑自动化控制系统报告.docx
- 高中信息技术教学中GAN算法可视化实践课题报告教学研究课题报告.docx
- 初中化学气体收集装置的微藻气体吸收装置课题报告教学研究课题报告.docx
- 蛋鸡养殖场冷链物流合同协议(2026年).docx
- 2026年中国新能源互联网行业发展趋势报告.docx
最近下载
- 员工奖金保密协议9篇.docx VIP
- 2025年东莞市东华初级中学中考数学模拟试卷附答案解析.pdf
- 2026年河南质量工程职业学院单招职业适应性测试备考题库及答案解析.docx VIP
- 2024年河南质量工程职业学院单招职业适应性测试试题及答案解析.docx VIP
- 2026年河南质量工程职业学院单招职业适应性测试题库有答案解析.docx VIP
- 2026年河南质量工程职业学院单招职业适应性考试备考试题及答案解析.docx VIP
- 2026年河南质量工程职业学院单招职业适应性测试备考试题及答案解析.docx VIP
- 2026年河南质量工程职业学院单招职业适应性测试题库及答案解析.docx VIP
- 6.1《北方地区自然特征与农业》课件-2023-2024学年人教版地理八年级下册.pptx VIP
- 2025年高考英语全国卷Ⅰ续写分析与教学策略.pptx VIP
原创力文档

文档评论(0)