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