为什么我的JQuery .ajax请求并不是并行的?

Rya*_*son 6 javascript ajax jquery

我试图使用jQuery并行制作两个ajax请求,如下所示:

    var sources = ["source1", "source2"];

    $(sources).each(function() {
      var source = this;
      $.ajax({
        async: true,
        type: "POST",
        data: {post: "data", in: "here"},
        url: "/my/url/" + source,
        success: function(data) {
          process_result(data);
        }
      });
    });
Run Code Online (Sandbox Code Playgroud)

我从这个问题得到了基本结构,但我的要求仍然不是并行的."source1"需要一段时间才能完成,我可以在服务器上看到第二个请求在第一个请求完成之前没有进行.

据我所知,我没有任何其他活动请求,所以我认为这对浏览器的最大并行请求数没有问题.我在这里错过了什么吗?

Mat*_*att 13

jQuery不会对AJAX请求进行排队.如果您确定自己没有提出任何其他要求,服务器怎么样?也许它只有一个工人?

编辑:只是为了确保,我用一个脚本测试它,向脚本启动2个AJAX POST请求,睡眠时间为5秒.他们没有排队.


Qua*_*mis 8

你在用PHP吗?你在使用session_start()吗?会话无法通过多个请求并行打开,他们将一个接一个地等待完成他们正在做的事情.