【发布时间】:2013-10-04 22:43:40
【问题描述】:
我有一个如下的javascript程序:
function jQueryFunction(url, callback)
{
$.ajax
({
type: "GET",
async: true,
url: url,
dataType: "jsonp",
jsonp: "callback",
jsonpCallback: "tpsHandler",
success: function(json)
{
return callback(json);
}
});
}
var jsonArray = new Array();
for(var i = 0; i < 10; i++)
{
jQueryFunction(url[i], function(json){
jsonArray[i] = json;
});
}
//process jsonArray
但是,当我在 for 循环之后检查 jsonArray 时,它为空。所以我的问题是,如何在for循环中将jQueryFunction的返回值存储到jsonArray中,然后进行处理?
我试过 $.when.apply($,jsonArray).done(function) 但还是一样,它是空的。
【问题讨论】:
-
你传递了一个数字作为 URL,这可以解释为什么它是空白的?
-
你检查过 Chrome 的开发者工具之类的回报吗?
-
是的,回调(json)是正确的。我只想将它们存储到一个数组中
-
猜测某人不喜欢“使用延迟”的答案
标签: javascript