首頁  >  文章  >  web前端  >  ajax中async有什麼作用

ajax中async有什麼作用

WBOY
WBOY原創
2021-12-23 11:39:093985瀏覽

ajax中async用於設定以非同步或同步方式執行腳本;async屬性值預設true時是非同步方式,「$.Ajax」執行後,會繼續執行ajax後面的腳本,當其屬性值設定為false時,同步請求將鎖住瀏覽器,使用者其它操作必須等待請求完成後執行。

ajax中async有什麼作用

本文操作環境:windows10系統、javascript1.8.5&&html5版、Dell G3電腦。

ajax中async有什麼作用

#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有什麼作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn