最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

章節(jié)
問(wèn)答
課簽
筆記
評(píng)論
占位
占位

設(shè)計(jì)ajax庫(kù)需要考慮的問(wèn)題

Ajax 的底層實(shí)現(xiàn)都是瀏覽器提供的,所以任何基于 api 上面的框架或者庫(kù),都只是說(shuō)對(duì)于功能的靈活與兼容維護(hù)性做出最優(yōu)的擴(kuò)展。
Ajax 請(qǐng)求的流程:

1、通過(guò) new XMLHttpRequest 或其它的形式(指IE)生成 ajax 的對(duì)象 xhr。  
2、通過(guò) xhr.open(type, url, async, username, password) 的形式建立一個(gè)連接。
3、通過(guò) etRequestHeader 設(shè)定 xhr 的請(qǐng)求頭部(request header)。  
4、通過(guò) send(data) 請(qǐng)求服務(wù)器端的數(shù)據(jù)。
5、執(zhí)行在 xhr 上注冊(cè)的 onreadystatechange 回調(diào)處理返回?cái)?shù)據(jù)。

這幾步之中,我們開(kāi)發(fā)者可能會(huì)遇到的問(wèn)題

1、跨域
2、json的格式
3、dataType
4、AJAX亂碼問(wèn)題
5、頁(yè)面緩存
6、狀態(tài)的跟蹤
7、不同平臺(tái)兼容

jQuery 主要就是解決上面這問(wèn)題,之后就在這個(gè)基礎(chǔ)之上進(jìn)行擴(kuò)展,jQuery2.0.3 版的 Ajax 部分源碼大概有 1200 多行,主要針對(duì) ajax 的操作進(jìn)行了一些擴(kuò)展,使之更加靈活,jQuery 在 1.5 中對(duì) Ajax 模塊的重寫(xiě),增加了幾個(gè)新的概念,Ajax 模塊提供了三個(gè)新的方法用于管理、擴(kuò)展 Ajax 請(qǐng)求,分別是:

前置過(guò)濾器 jQuery. ajaxPrefilter
請(qǐng)求分發(fā)器 jQuery. ajaxTransport
類(lèi)型轉(zhuǎn)換器 ajaxConvert

除此之后還重寫(xiě)了整個(gè)異步隊(duì)列處理,加入了 deferred,可以將任務(wù)完成的處理方式與任務(wù)本身解耦合,使用 deferreds 對(duì)象,多個(gè)回調(diào)函數(shù)可以被綁定在任務(wù)完成時(shí)執(zhí)行,甚至可以在任務(wù)完成后綁定這些回調(diào)函數(shù)。這些任務(wù)可以是異步的,也可以是同步的。

比如之前提到的:

  1. 鏈?zhǔn)椒答?done 與 fail
  2. 分離異步與同步處理,不再被限制到只有一個(gè)成功,失敗或者完成的回調(diào)函數(shù)了。相反這些隨時(shí)被添加的回調(diào)函數(shù)被放置在一個(gè)先進(jìn)先出的隊(duì)列中。
  3. 同時(shí)執(zhí)行多個(gè) Ajax 請(qǐng)求,這個(gè)比較復(fù)雜一點(diǎn),原理其實(shí)就是 $.get 返回的是一個(gè) deferred 對(duì)象,每個(gè) jQuery 的 Ajax 方法返回值都包含一個(gè) Promise 函數(shù),用來(lái)跟蹤異步請(qǐng)求。Promise 函數(shù)的返回值是 deferred 對(duì)象的一個(gè)只讀視圖 Deferreds 通過(guò)檢測(cè)對(duì)象中是否存在 promise() 函數(shù)來(lái)判斷當(dāng)前對(duì)象是否可觀察。$.when() 會(huì)等待所有的 Ajax 請(qǐng)求結(jié)束,然后調(diào)用通過(guò) .then(), .fail()注冊(cè)的回調(diào)函數(shù)(具體調(diào)用哪些回調(diào)函數(shù)取決于任務(wù)的結(jié)束狀態(tài))。這些回調(diào)函數(shù)會(huì)按照他們的注冊(cè)順序執(zhí)行。顯而易見(jiàn),deferred 對(duì)象就是 jQuery 的回調(diào)函數(shù)解決方案,它解決了如何處理耗時(shí)操作的問(wèn)題,對(duì)那些操作提供了更好的控制,以及統(tǒng)一的編程接口。

任務(wù)

?不會(huì)了怎么辦
||

提問(wèn)題

寫(xiě)筆記

公開(kāi)筆記
提交
||

請(qǐng)驗(yàn)證,完成請(qǐng)求

由于請(qǐng)求次數(shù)過(guò)多,請(qǐng)先驗(yàn)證,完成再次請(qǐng)求

加群二維碼

打開(kāi)微信掃碼自動(dòng)綁定

您還未綁定服務(wù)號(hào)

綁定后可得到

  • · 粉絲專(zhuān)屬優(yōu)惠福利
  • · 大咖直播交流干貨
  • · 課程更新,問(wèn)題答復(fù)提醒
  • · 賬號(hào)支付安全提醒

收藏課程后,能更快找到我哦~

使用 Ctrl+D 可將課程添加到書(shū)簽

邀請(qǐng)您關(guān)注公眾號(hào)
關(guān)注后,及時(shí)獲悉本課程動(dòng)態(tài)

舉報(bào)

0/150
提交
取消
全部 精華 我要發(fā)布
全部 我要發(fā)布
最熱 最新
只看我的

手記推薦

更多

本次提問(wèn)將花費(fèi)2個(gè)積分

你的積分不足,無(wú)法發(fā)表

為什么扣積分?

本次提問(wèn)將花費(fèi)2個(gè)積分

繼續(xù)發(fā)表請(qǐng)點(diǎn)擊 "確定"

為什么扣積分?