2011-03-30 29 views

回答

0

您正在運行AJAX的異步特性。在回調函數中移動你的警惕,它會按預期工作:

var rowData = []; 

rowData.push("THIS ADDS TO THE ARRAY"); 

loadPhones(function(data) { 
    rowData.push(data); 
    alert(rowData); 
}); 

你有一個函數傳遞給loadPhones的原因是,你不希望瀏覽器,而你鎖起來檢索電話列表。按照你寫的方式,到達alert聲明時,匿名回調函數還沒有被執行。

做任何你需要做的與loadPhones回調中檢索到的數據。

+0

好吧,是的,我可以在函數內部執行警告,但我需要將數據推入rowData數組,以便我可以使用它,否則該函數是沒用的。沒有辦法做到這一點? – 2011-03-30 10:46:14

+0

@JonathanClark:當然,這已經發生了。您的問題與_when_數組訪問有關。如果你把這段代碼放在'loadPhones'之後,它將不能被訪問,因爲回調不會被執行。什麼時候需要訪問數據? – Martijn 2011-03-30 12:03:06