async是ajax的屬性。async屬性用于規(guī)定ajax請求是否異步處理,默認值是true(異步處理);ajax執(zhí)行后,會繼續(xù)執(zhí)行后面的的腳本,直到服務端返回數(shù)據(jù)后,觸發(fā)ajax里的成功回調函數(shù)success,這時候執(zhí)行的是兩個線程。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
async是ajax的屬性。
async屬性用于規(guī)定ajax請求是否異步處理,值是布爾類型,默認值是true(異步處理)。
$.ajax async:true 或者 false的作用
在寫 ajax 請求的時候默認不寫 async 這個屬性,async 默認為 true,即異步方式。ajax 執(zhí)行后,會繼續(xù)執(zhí)行后面的的腳本,直到服務端返回數(shù)據(jù)后,觸發(fā) ajax 里的成功回調函數(shù) success,這時候執(zhí)行的是兩個線程。
若將 async 設為 false,則請求為 同步請求,在服務端沒有返回數(shù)據(jù)之前,不會執(zhí)行 ajax 后面的腳本,只有當 ajax 請求完成,才會繼續(xù)執(zhí)行 ajax 后面的腳本。
示例:
var App = function () { this.Startup = function () { this.Test(); }; this.Test = function () { var name = null; $.ajax({ type: 'POST', url: '/Home/GetName', // 本地測試接口 async: true, success: function (result) { name = result.name; } }); alert(name); }; }; $(document).ready(function () { var app = new App(); app.Startup(); });
① 當 async:true
的時候,異步請求,會繼續(xù)執(zhí)行 ajax 后面的腳本,所以會執(zhí)行 alert
② 當 async:false
的時候,同步請求,會等待 ajax 執(zhí)行完成,才會去執(zhí)行它后面的腳本,所以 name 會在 ajax 成功回調函數(shù) success 中被賦值。
【相關教程推薦:AJAX視頻教程】