Ajax中的async:false/true的作用
阿新 • • 發佈:2018-12-22
Ajax中的async用於控制(false)同步和(true)非同步,預設的是true,即請求預設的是非同步請求
$.ajax({ type: "POST", url: "/users/sessions", //async async: false, dataType: "json", contentType: "application/json;charset=UTF-8", data: jsonData, success: function (result) { if (result.resultCode == 200) { event.preventDefault(); location.href = "home.do"; } else { event.preventDefault(); $('#errorInfo').html(result.message); } } });
一、async值為true (非同步)
當ajax傳送請求後,在等待server端返回的這個過程中,前臺會繼續 執行ajax塊後面的指令碼,直到server端返回正確的結果才會去執行success,也就是說這時候請求users/sessions的請求還沒有執行完,可能就執行了後面的操作,那麼後面就可能出現空值的情況。
二、async值為false (同步)
當執行當前AJAX的時候會停止執行後面的JS程式碼,直到AJAX執行完畢後時,才能繼續執行後面的JS程式碼。
false為同步,上面的Ajax請求會將將整個瀏覽器鎖死,只有/users/sessions執行結束後,才可以執行後面其它操作。