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