2 回答

TA貢獻1811條經(jīng)驗 獲得超6個贊
ajax
是異步,你后面那么做,還沒執(zhí)行回調(diào)函數(shù)獲取responseText
,obj
是取不到值的。//好像這樣表述不對,要取到值,最好是在確認回調(diào)執(zhí)行了才好。
另外,你寫的return
是在一個function
里面,return不到外部去的。

TA貢獻1860條經(jīng)驗 獲得超9個贊
且不說你的異步就不能這樣返回值,你的return返回很明顯是xmlhttp.onreadystatechange的值,而不是你的loadXMLDoc函數(shù)的值。針對異步的問題你要學(xué)會使用回調(diào)函數(shù)。回調(diào)函數(shù)給我的感覺就是一個一個函數(shù)往里面套,我給你寫個例子:
function loadXMLDoc(callback) {
callback = callback || function() {};
...... //這里是xmlhttp的一些定義
xmlhttp.onreadystatechange = function() {
if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
callback(JSON.parse(xmlhttp.responseText));
}
...... //這里是xmlhttp的其它操作
}
loadXMLDoc(function(res){
document.write(res[1].week);
});
添加回答
舉報