同步三个ajax请求

时间:2012-02-07 10:03:42

标签: jquery ajax synchronize

我有三个AJAX请求一个接一个地触发,我希望能够同时回显所有数据。

$.ajax ({
        type: "POST",
        url: "page1.php",
        data: "var1=" + var1,
        success: function(msg) {
            $("#results2").load("page2.php", 
            function (responseText, textStatus, XMLHttpRequest) {
                $("#results3").load("page3.php",
                function (responseText, textStatus, XMLHttpRequest) {
                    if (textStatus == "success") {
                        $("#results1").html(msg);
                    }
                });
          });
        }
    });

#results1#results2#results3都需要同时加载相关数据。上面的代码没有这样做。

1 个答案:

答案 0 :(得分:10)

您可以使用1.5版本中添加的deferred object jQuery:

$.when( $.ajax({1}) , $.ajax({2}) , $.ajax({3}) )
.then(function() {
  alert("tada");
});
相关问题