2011-03-30 79 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