在使用異步請(qǐng)求時(shí),有時(shí)需要將異步請(qǐng)求的結(jié)果返回給另一個(gè)js函數(shù),此種情況下會(huì)出現(xiàn)未等異步請(qǐng)求返回請(qǐng)求結(jié)果,該發(fā)送請(qǐng)求所在js函數(shù)已經(jīng)執(zhí)行完后續(xù)操作,即已經(jīng)執(zhí)行return ,這樣會(huì)導(dǎo)致return的結(jié)果為空字符。
總結(jié):若要在使用ajax請(qǐng)求后處理發(fā)送請(qǐng)求返回的結(jié)果,最好使用同步請(qǐng)求。
例如:以下例子會(huì)出現(xiàn)返回結(jié)果不正確的情況,因?yàn)閍jax異步請(qǐng)求還未執(zhí)行完,函數(shù)已經(jīng)執(zhí)行return了,
復(fù)制代碼 代碼如下:
function fn(){
var result = " ";
$.ajax({
url : 'your url',
data:{name:value},
cache : false,
async : true,
type : "POST",
success : function (data){
do something....
result = ....
}
// 對(duì)ajax中返回的data進(jìn)行處理 ,也會(huì)出錯(cuò)
return result ;
}
復(fù)制代碼 代碼如下:
$.ajax({
url : 'your url',
data:{name:value},
cache : false,
async : true,
type : "POST",
dataType : 'json/xml/html',
success : function (result){
do something....
}
});
復(fù)制代碼 代碼如下:
$.ajax({
url : 'your url',
data:{name:value},
cache : false,
async : false,
type : "POST",
dataType : 'json/xml/html',
success : function (result){
do something....
}
});
新聞熱點(diǎn)
疑難解答
圖片精選