几个Ajax请求,所有代码按顺序运行

时间:2015-02-08 12:16:55

标签: jquery ajax

以下代码依次顺序运行。我希望事情并行运行。我需要改变什么?

window.onload = function () {

    $.ajax({
        type: "GET",
        url: "/Reports/GetTotalVisits"
    }).done(function (data) {
        $('#visitCount').text(data.visitCount);
    });

    $.ajax({
        type: "GET",
        url: "/Reports/GetTotalUsers",
        async: true
    }).done(function (data) {
        $('#userCount').text(data.userCount);
    }); 

    $.ajax({
        type: "GET",
        url: "/Reports/VisitReport",
        async: true
    }).done(function (data) {
        var ctx2 = document.getElementById("station-chart").getContext("2d");
        var myLineChart = new Chart(ctx2).Line(data);
    });

};

1 个答案:

答案 0 :(得分:0)

  

以下代码依次顺序运行。我希望事情并行运行......

我认为你的意思是你希望HTTP调用重叠,例如,在第一个运行而不是等待时启动第二个,并在前两个运行而不是等待时启动第三个。

如果是这样,那个客户端代码就可以了。这些ajax请求按顺序启动,但将并行运行。如果您只是看到它们串联发生,请查看等式的服务器端。某些服务器技术会将来自同一客户端的请求序列化,特别是如果您正在使用"会话"或类似的。但是客户端代码很好(并且永远不需要async: true,这是默认值)。