定義和用法
async 屬性規(guī)定一旦腳本可用,則會異步執(zhí)行。
注釋:async 屬性僅適用于外部腳本(只有在使用 src 屬性時)。
注釋:有多種執(zhí)行外部腳本的方法:
如果 async="async":腳本相對于頁面的其余部分異步地執(zhí)行(當頁面繼續(xù)進行解析時,腳本將被執(zhí)行)
如果不使用 async 且 defer="defer":腳本將在頁面完成解析時執(zhí)行
如果既不使用 async 也不使用 defer:在瀏覽器繼續(xù)解析頁面之前,立即讀取并執(zhí)行腳本
async 屬性規(guī)定一旦腳本可用,則會異步執(zhí)行。
注釋:async 屬性僅適用于外部腳本(只有在使用 src 屬性時)。
注釋:有多種執(zhí)行外部腳本的方法:
如果 async="async":腳本相對于頁面的其余部分異步地執(zhí)行(當頁面繼續(xù)進行解析時,腳本將被執(zhí)行)
如果不使用 async 且 defer="defer":腳本將在頁面完成解析時執(zhí)行
如果既不使用 async 也不使用 defer:在瀏覽器繼續(xù)解析頁面之前,立即讀取并執(zhí)行腳本
2017-04-10
【************看過來************】
建議大家去搜博客看看jsonp的原生實現(xiàn),再看看jquery的ajax文檔,了解一下各種參數(shù)如success函數(shù)中的data實際上就是從服務(wù)器傳回來的,但是因為jquery沒有讓你看到他的回調(diào)函數(shù),你會覺得這個data憑空飛出。
再就是了解,回調(diào)的概念,異步的概念,同源策略的概念,這才能把ajax給弄透。
如果說的有什么錯的,后來的知道的同學請指正。
建議大家去搜博客看看jsonp的原生實現(xiàn),再看看jquery的ajax文檔,了解一下各種參數(shù)如success函數(shù)中的data實際上就是從服務(wù)器傳回來的,但是因為jquery沒有讓你看到他的回調(diào)函數(shù),你會覺得這個data憑空飛出。
再就是了解,回調(diào)的概念,異步的概念,同源策略的概念,這才能把ajax給弄透。
如果說的有什么錯的,后來的知道的同學請指正。
2017-04-05
【************看過來************】
接剛寫的2。因為script不受同源策略約束,所以jsonp才得以實現(xiàn),而script的src屬性使用的是GET請求,因此jsonp是只支持GET而不接受POST的。大家可以理解為,你用<script>載入了一段服務(wù)器端返回的代碼,而代碼中包含一個帶有服務(wù)器內(nèi)參數(shù)的回調(diào)函數(shù),收到回調(diào)函數(shù)后該函數(shù)運行,于是就算是用到了服務(wù)器里的數(shù)據(jù)。
3.因為ajax和jsonp無關(guān),因此本課中的error函數(shù)實際上是無法觸發(fā)的,因為我們壓根沒用到j(luò)qXHR這個對象,老師沒講這點是有點失誤的。
接剛寫的2。因為script不受同源策略約束,所以jsonp才得以實現(xiàn),而script的src屬性使用的是GET請求,因此jsonp是只支持GET而不接受POST的。大家可以理解為,你用<script>載入了一段服務(wù)器端返回的代碼,而代碼中包含一個帶有服務(wù)器內(nèi)參數(shù)的回調(diào)函數(shù),收到回調(diào)函數(shù)后該函數(shù)運行,于是就算是用到了服務(wù)器里的數(shù)據(jù)。
3.因為ajax和jsonp無關(guān),因此本課中的error函數(shù)實際上是無法觸發(fā)的,因為我們壓根沒用到j(luò)qXHR這個對象,老師沒講這點是有點失誤的。
2017-04-05
【************看過來************】
如果以后還有人上這個課的話,我簡單講一下我的理解,只講關(guān)鍵的部分。
1.這課有些誤導新人,上來就用jquery實現(xiàn)jsonp,實際上jsonp和ajax是不相關(guān)的東西,只是在jquery里,把jsonp融入到ajax方法中了,讓你以為jsonp實際上是ajax下一種跨域的實現(xiàn)。
2.瀏覽器并不是對所有東西都有同源策略,此處是對ajax有同源策略,意思就是ajax技術(shù)里無法跨域,但是瀏覽器對<script><img>這些有src屬性的標簽并沒有同源策略,jsonp的原理就在于此,通過用script 的 src屬性向服務(wù)器請求數(shù)據(jù)。
如果以后還有人上這個課的話,我簡單講一下我的理解,只講關(guān)鍵的部分。
1.這課有些誤導新人,上來就用jquery實現(xiàn)jsonp,實際上jsonp和ajax是不相關(guān)的東西,只是在jquery里,把jsonp融入到ajax方法中了,讓你以為jsonp實際上是ajax下一種跨域的實現(xiàn)。
2.瀏覽器并不是對所有東西都有同源策略,此處是對ajax有同源策略,意思就是ajax技術(shù)里無法跨域,但是瀏覽器對<script><img>這些有src屬性的標簽并沒有同源策略,jsonp的原理就在于此,通過用script 的 src屬性向服務(wù)器請求數(shù)據(jù)。
2017-04-05
狀態(tài) 名稱 描述
0 Uninitialized 初始化狀態(tài)。XMLHttpRequest 對象已創(chuàng)建或已被 abort() 方法重置。
1 Open open() 方法已調(diào)用,但是 send() 方法未調(diào)用。請求還沒有被發(fā)送。
2 Sent Send() 方法已調(diào)用,HTTP 請求已發(fā)送到 Web 服務(wù)器。未接收到響應(yīng)。
3 Receiving 所有響應(yīng)頭部都已經(jīng)接收到。響應(yīng)體開始接收但未完成
4 Loaded HTTP 響應(yīng)已經(jīng)完全接收。
0 Uninitialized 初始化狀態(tài)。XMLHttpRequest 對象已創(chuàng)建或已被 abort() 方法重置。
1 Open open() 方法已調(diào)用,但是 send() 方法未調(diào)用。請求還沒有被發(fā)送。
2 Sent Send() 方法已調(diào)用,HTTP 請求已發(fā)送到 Web 服務(wù)器。未接收到響應(yīng)。
3 Receiving 所有響應(yīng)頭部都已經(jīng)接收到。響應(yīng)體開始接收但未完成
4 Loaded HTTP 響應(yīng)已經(jīng)完全接收。
2017-04-05