Ajax請求中的非同步與同步,需要注意的地方說明

來源:互聯網
上載者:User

之前做項目時候,用到一個表格控制項,它的資料是非同步載入的,我在這個表格綁定資料的函數下面友做了一些業務處理,運行頁面的時候,用瀏覽器在我寫業務處理那地方打上斷點跟蹤,它確實執行了,可以最後顯示的時候,它的處理被覆蓋了,我很納悶,當時也知道是這個表格綁定函數那出問題了,可是時間緊,它的函數是封裝的,沒有去具體跟蹤,就直接讓我的那部分業務處理延遲200ms執行,這樣就好了,這是個笨法,不過也是個有效辦法,呵呵。

後來看了下文檔,查了些資料,其實原理應該是這樣的:

預設設定下,所有請求均為非同步請求。如果需要發送同步請求,請將此選項設定為 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後面的語句。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.