jquery - 同步三个ajax请求

标签 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 都需要同时加载其相关数据。上面的代码没有做到这一点。

最佳答案

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

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

关于jquery - 同步三个ajax请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9174267/

相关文章:

jquery - deferred.done() 是否在 ajaxComplete() 之前触发?

java - java中的同步关键字和静态类

jquery - 如何摆脱 emberjs 中的 SourceMapConcat 构建错误?

jQuery 不显眼的验证忽略 MVC3 中的 data-val-required 消息

php - 无法将 ajax 填充的字段传递给 php

asp.net-mvc - ASP.NET MVC 和 Ajax 中的异常处理 - [HandleException] 过滤器

multithreading - 如何同步JMeter线程组?

PHP:线程代理共享一个公共(public)对象

javascript - innerHTML 变化时的动画高度调整

javascript - 如何使用 getJSON 将 javascript 变量传递给 php