现在我有以下内容:
$.getJSON("firsturl", function(source1) {
$.getJSON("secondurl", function(source2) {
// I have source 1 and source 2 data here!
}
}
从两个源获取数据的更好方法是什么?并且在不嵌套所有这些$ .getJSON调用的情况下对它们执行某些操作?
答案 0 :(得分:8)
您可以使用$.when
$.when($.getJSON("/firsturl"), $.getJSON("secondurl")).done(function(result1, result2){
/* result1 and result2 are arguments resolved for the
page1 and page2 ajax requests, respectively.
each argument is an array with the following
structure: [ data, statusText, jqXHR ] */
});
答案 1 :(得分:3)
将jQuery Deferred对象与$.when
:
var first = $.getJSON("firstUrl");
var second = $.getJSON("secondUrl");
$.when(first, second).done(function(firstResult, secondResult) {
// do stuff;
});