【发布时间】:2011-02-02 04:18:25
【问题描述】:
我正在尝试使用 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);
}
});
});
我从this question 获得了基本结构,但我的请求仍未同时进行。 “source1”需要一段时间才能完成,我可以在服务器上看到第二个请求直到第一个请求完成后才发出。
据我所知,我没有任何其他活动请求,所以我认为浏览器的最大并行请求数不是问题。我在这里错过了什么吗?
【问题讨论】:
-
你在 Fiddler 或 Firebug 中看到了什么?
-
我刚刚从那个链接的问题中重新尝试了我的答案,并在 PHP 页面中添加了一个
sleep(4);- 仍然按预期工作。所有 4 个请求同时触发,并且都需要大约 4 秒才能完成。 -
后端是在我的开发沙箱中运行的 Catalyst,没有 --fork 选项。 Firebug 中的 Net 面板在第一个请求完成之前不会显示第二个请求。
标签: javascript jquery ajax