jquery191源码分析系列(十六)ajax之ajax框架_jquery

jquery191源码分析系列(十六)ajax之ajax框架_jquery

ID:30780656

大小:76.50 KB

页数:6页

时间:2019-01-03

jquery191源码分析系列(十六)ajax之ajax框架_jquery_第1页
jquery191源码分析系列(十六)ajax之ajax框架_jquery_第2页
jquery191源码分析系列(十六)ajax之ajax框架_jquery_第3页
jquery191源码分析系列(十六)ajax之ajax框架_jquery_第4页
jquery191源码分析系列(十六)ajax之ajax框架_jquery_第5页
资源描述:

《jquery191源码分析系列(十六)ajax之ajax框架_jquery》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、jQueryl.9.1源码分析系列(十六)ajax之ajax框架AJAX简介AJAX是一种在无需重新加载整个网页的情况卜,能够更新部分网页的技术。您应当具备的基础知识在继续学习Z前,您需要对下面的知识有基木的了解:HTML/XHTMLCSSJavaScript/DOM如果您希望首先学习这些项目,请在我们的首页访问这些教程。什么是AJAX?AJAX=异步JavaScript和XML。AJAX是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味着可以在不重新加载整个

2、网页的情况下,对网页的某部分进行更新。传统的网页(不使用AJAX)如果需要更新内容,必需重载整个网页面。有很多使用AJAX的应用程序案例:新浪微博、Google地图、开心网等等。GoogleSuggest在2005年,Google通过其GoogleSuggest使AJAX变得流行起来。GoogleSuggest使用AJAX创造出动态性极强的web界而:当您在谷歌的搜索框输入关键字时‘JavaScript会把这些字符发送到服务器,然后服务器会返冋一个搜索建议的列表。今天就开始使用AJAXAJAX基于已有的标准。这些标准

3、已被大多数开发者使用多年。既然是ajax框架,那么闲谈一谈jQuery的ajax处理思路。现在的浏览器都支持ajax,只不过不同的浏览器使用方法可能冇不同(1E使用newwindow.ActiveXObject(,zMicrosoft.XMLHTTP"),标准浏览器使用newwindow.XMLHttpRequest())。如果按照这种思路,貌似jQajaxH需要做好兼容处理就行了?不是的,原生的ajax有一个说大不大说小不小的缺点——不支持跨域(同源策略由来已久,自彳亍百度)。所以jQajax添加了这方而的处理,j

4、Qajax是如何解决跨域问题的?是能取到图片的,很明显图片的路径和你的服务端不是一个域的。你可以试试看所冇的带冇src屈性的标签都不受同源策略的影响。所以,jQuery就使用了这个属性,对于跨域请求使用script标签的src来请求路径。然后jQuery在加上对ajax事件的三种监听方式:1.全局事件:$(document).on('ajaxStart',fu

5、nc);2.ajax设置回调项:$.ajax({url:,zphp.htmlz,,complete:func});3.deferred绑定方式:$.ajax(…).done(func);基本上这就是jQajax所做的事情。在正真进入ajax框架核心之前,先来分析一jQuery准备的几个序列化提交表单的函数。a.表单序列化所谓的表单序列化即将表单需要捉交的内容组成类似:"key二value&key二value…”形式的字符串。序列化用到三个函数:jQuery.fn.serializeO(序列化函数,筛选出表单中需要提交

6、的数据并以序列化字符串方式返回,形如:“key二valuc&kcy二value…”)jQuery.fn.serializeArrayO(筛选出表单中需要捉交的数据并以key/value键值对的对彖数组格式返冋,返冋[{name:'key,,value:'selectT},{name:*selectM,,value:*selectMT},{name:JselectM',value:'selectM2,},{name:Jkey2,,value:0)•••])jQuery.param(serializeArray,trad

7、itional)(将key/value键值对的对象数组序列化为"key二value&key二value…”字符串)。serialize直接调用jQuery.param(this,serializeArray())即可。serializeArray的源码如下:主要进彳亍三个步骤:提取表单元索、过滤出满足提交条件的表单元索、组合成key/value键值对的对象数组serializeArray:function(){〃将form中的表单相关的元素取出来组成数组returnthis.map(function(){//表单节点

8、有elements这个特征varclcments=jQucry.prop(this,"clcmcnts");returnelements?jQuery.makeArray(elements):this;})//过滤出为需要提交的表单元素(有name名称、非disabledyc素、非提交按钮等元索、checkbox/radio的checked的元

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。