本文給大家介Ajax請求中的async:false/true(同步/非同步)的作用,有一定的參考價值,有需要的朋友可以參考一下,希望對你們有所幫助。
async: 預設是true,即為非同步方式,$.Ajax執行後,會繼續執行ajax後面的腳本,直到伺服器端回傳資料後,觸發$. Ajax裡的success方法,這時候執行的是兩個執行緒。若要將其設為false,則所有的請求均為同步請求,在沒有傳回值之前,同步請求將鎖住瀏覽器,使用者其它操作必須等待請求完成才可以執行。
下面查看一個範例:
var temp; $.ajax({ async: false, type : "POST", url : defaultPostData.url, dataType : 'json', success : function(data) { temp=data; } }); alert(temp);
這個ajax請求為同步請求,在沒有回傳值之前,alert(temp)是不會執行的。
如果async設定為:true,則不會等待ajax要求回傳的結果,會直接執行ajax後面的語句。
不過上面設定同步請求的方法,有網友曾經回饋將async設為false後, 原意是想返回資料了再執行$.Ajax後面的腳本, 沒想到這個地方卻導致了在火狐瀏覽器下方出現閃屏(Firefox 11.0),滾動條下拉到底部觸發ajax的情況。最後只能將async:false註解掉, 也就是async為ture的情況下,成功解決了火狐瀏覽器滾動條下拉到底部觸發ajax出現閃屏的問題。
總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多相關教學請造訪AJAX影片教學!
相關推薦:
#以上是Ajax請求中的async:false/true(同步/非同步)的作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!