如何避免为两个独立的数据源嵌套getJSON?

时间:2013-06-24 17:00:10

标签: javascript jquery

现在我有以下内容:

$.getJSON("firsturl", function(source1) {
   $.getJSON("secondurl", function(source2) {
      // I have source 1 and source 2 data here!
   }
}

从两个源获取数据的更好方法是什么?并且在不嵌套所有这些$ .getJSON调用的情况下对它们执行某些操作?

2 个答案:

答案 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;

});