//同步請求
$.ajax({
type:'post',
url:"<c:url value='/device/org/' />"+val,
data:{'orgId':val},
success:function(data){
name=data.orgName;
},
dataType:"json",
async:false
});
function(2);
當執行當前AJAX的時候會停止執行后面的JS代碼,直到AJAX執行完畢后時,才能繼續執行后面的JS代碼。
當把async設為false時,這時ajax的請求時同步的,也就是說,這個時候ajax塊發出請求后,他會等待在function1()這個地方,不會去執行function2(),直到function1()部分執行完畢。
//異步請求
$.ajax({
type:
"POST"
,
url:
"Venue.aspx?act=init"
,
dataType:
"html"
,
success:
function
(result){
//function1()
f1();
f2();
}
failure:
function
(result) {
alert(
'Failed'
);
},
}
function2();
當ajax發送請求后,在等待server端返回的這個過程中,前台會繼續 執行ajax塊后面的腳本,直到server端返回正確的結果才會去執行success,也就是說這時候執行的是兩個線程,ajax塊發出請求后一個線程 和ajax塊后面的腳本(另一個線程)
在上例中,當ajax塊發出請求后,他將停留function1(),等待server端的返回,但同時(在這個等待過程中),前台會去執行function2()。