多个异步AJAX调用最佳实践

时间:2014-06-30 18:59:18

标签: javascript jquery ajax api asynchronous

我对"最佳实践"在单个页面上进行多个AJAX调用。

我需要异步进行5次隔离调用。我知道$ .ajax本质上是异步的,但我很好奇是否有更清洁的"或者"更好"做多个AJAX调用的方法。

包含多个AJAX调用的示例如下:

$(function() {
  $.ajax({
    type: "GET",
    url: "https://api.github.com/users/ralvarenga",
    dataType: "json",
    success: function(data) { console.log(data); }
  });
  $.ajax({
    type: "GET",
    url: "https://api.github.com/users/dkang",
    dataType: "json",
    success: function(data) { console.log(data); }
  });
});

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:6)

您应该使用$.when()

$.when($.ajax("/page1.php"), $.ajax("/page2.php")).done(function (a1, a2) {
    //all AJAX requests are finished
});

或者:

$.when( $.ajax( "/page1.php" ), $.ajax( "/page2.php" ) )
    .then( successFunction, failureFunction );