jquery191源碼分析系列(十六)ajax之a(chǎn)jax框架_jquery

jquery191源碼分析系列(十六)ajax之a(chǎn)jax框架_jquery

ID:30780656

大?。?6.50 KB

頁數(shù):6頁

時間:2019-01-03

jquery191源碼分析系列(十六)ajax之a(chǎn)jax框架_jquery_第1頁
jquery191源碼分析系列(十六)ajax之a(chǎn)jax框架_jquery_第2頁
jquery191源碼分析系列(十六)ajax之a(chǎn)jax框架_jquery_第3頁
jquery191源碼分析系列(十六)ajax之a(chǎn)jax框架_jquery_第4頁
jquery191源碼分析系列(十六)ajax之a(chǎn)jax框架_jquery_第5頁
資源描述:

《jquery191源碼分析系列(十六)ajax之a(chǎn)jax框架_jquery》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫

1、jQueryl.9.1源碼分析系列(十六)ajax之a(chǎn)jax框架AJAX簡介AJAX是一種在無需重新加載整個網(wǎng)頁的情況卜,能夠更新部分網(wǎng)頁的技術(shù)。您應(yīng)當具備的基礎(chǔ)知識在繼續(xù)學習Z前,您需要對下面的知識有基木的了解:HTML/XHTMLCSSJavaScript/DOM如果您希望首先學習這些項目,請在我們的首頁訪問這些教程。什么是AJAX?AJAX=異步JavaScript和XML。AJAX是一種用于創(chuàng)建快速動態(tài)網(wǎng)頁的技術(shù)。通過在后臺與服務(wù)器進行少量數(shù)據(jù)交換,AJAX可以使網(wǎng)頁實現(xiàn)異步更新。這意味著可以在不重新加載整個

2、網(wǎng)頁的情況下,對網(wǎng)頁的某部分進行更新。傳統(tǒng)的網(wǎng)頁(不使用AJAX)如果需要更新內(nèi)容,必需重載整個網(wǎng)頁面。有很多使用AJAX的應(yīng)用程序案例:新浪微博、Google地圖、開心網(wǎng)等等。GoogleSuggest在2005年,Google通過其GoogleSuggest使AJAX變得流行起來。GoogleSuggest使用AJAX創(chuàng)造出動態(tài)性極強的web界而:當您在谷歌的搜索框輸入關(guān)鍵字時‘JavaScript會把這些字符發(fā)送到服務(wù)器,然后服務(wù)器會返冋一個搜索建議的列表。今天就開始使用AJAXAJAX基于已有的標準。這些標準

3、已被大多數(shù)開發(fā)者使用多年。既然是ajax框架,那么閑談一談jQuery的ajax處理思路?,F(xiàn)在的瀏覽器都支持ajax,只不過不同的瀏覽器使用方法可能冇不同(1E使用newwindow.ActiveXObject(,zMicrosoft.XMLHTTP"),標準瀏覽器使用newwindow.XMLHttpRequest())。如果按照這種思路,貌似jQajaxH需要做好兼容處理就行了?不是的,原生的ajax有一個說大不大說小不小的缺點——不支持跨域(同源策略由來已久,自彳亍百度)。所以jQajax添加了這方而的處理,j

4、Qajax是如何解決跨域問題的?是能取到圖片的,很明顯圖片的路徑和你的服務(wù)端不是一個域的。你可以試試看所冇的帶冇src屈性的標簽都不受同源策略的影響。所以,jQuery就使用了這個屬性,對于跨域請求使用script標簽的src來請求路徑。然后jQuery在加上對ajax事件的三種監(jiān)聽方式:1.全局事件:$(document).on('ajaxStart',fu

5、nc);2.ajax設(shè)置回調(diào)項:$.ajax({url:,zphp.htmlz,,complete:func});3.deferred綁定方式:$.ajax(…).done(func);基本上這就是jQajax所做的事情。在正真進入ajax框架核心之前,先來分析一jQuery準備的幾個序列化提交表單的函數(shù)。a.表單序列化所謂的表單序列化即將表單需要捉交的內(nèi)容組成類似:"key二value&key二value…”形式的字符串。序列化用到三個函數(shù):jQuery.fn.serializeO(序列化函數(shù),篩選出表單中需要提交

6、的數(shù)據(jù)并以序列化字符串方式返回,形如:“key二valuc&kcy二value…”)jQuery.fn.serializeArrayO(篩選出表單中需要捉交的數(shù)據(jù)并以key/value鍵值對的對彖數(shù)組格式返冋,返冋[{name:'key,,value:'selectT},{name:*selectM,,value:*selectMT},{name:JselectM',value:'selectM2,},{name:Jkey2,,value:0)???])jQuery.param(serializeArray,trad

7、itional)(將key/value鍵值對的對象數(shù)組序列化為"key二value&key二value…”字符串)。serialize直接調(diào)用jQuery.param(this,serializeArray())即可。serializeArray的源碼如下:主要進彳亍三個步驟:提取表單元索、過濾出滿足提交條件的表單元索、組合成key/value鍵值對的對象數(shù)組serializeArray:function(){〃將form中的表單相關(guān)的元素取出來組成數(shù)組returnthis.map(function(){//表單節(jié)點

8、有elements這個特征varclcments=jQucry.prop(this,"clcmcnts");returnelements?jQuery.makeArray(elements):this;})//過濾出為需要提交的表單元素(有name名稱、非disabledyc素、非提交按鈕等元索、checkbox/radio的checked的元

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。