Sta*_*tan 6 javascript jquery json
我的脚本需要在https://graph.facebook.com/xxxx上获取几个json文件,并从每个json中检索某个字段,然后计算求和.
我的问题是如何在所有getJSON完成后打印出结果?使用以下代码,它将打印0.随意建议任何更好的方法.
var result = 0;
$.each(urls, function (i, url) {
$.getJSON(url, function (json) {
result += json.field1;
})
});
alert(result);
Run Code Online (Sandbox Code Playgroud)
Aln*_*tak 23
使用jQuery 1.5延迟对象:
累积返回的JQXHR对象数组 $.getJSON()
var jxhr = urls.map(function(url) {
return $.getJSON(url, function(json) {
result += json.field1;
})
});
Run Code Online (Sandbox Code Playgroud)
只有$.when他们都是.done():
$.when.apply($, jxhr).done(function() {
alert(result);
});
Run Code Online (Sandbox Code Playgroud)
注意:这将result按照AJAX调用完成的顺序累积,而不是按照它们的顺序进行累积.