【发布时间】:2014-08-22 22:38:35
【问题描述】:
我用 jquery 创建了多个异步请求,如下所示:
$.when(
$.ajax({
url: site_url_city_1,
type: "GET",
data: window.location.search,
dataType: "json",
success: function(data) {
data_1 = data;
}
}),
$.ajax({
url: site_url_city_2,
type: "GET",
data: window.location.search,
dataType: "json",
success: function(data) {
data_2 = data;
}
}),
$.ajax({
url: site_url_city_3,
type: "GET",
data: window.location.search,
dataType: "json",
success: function(data) {
data_3 = data;
}
}),
$.ajax({
url: site_url_city_4,
type: "GET",
data: window.location.search,
dataType: "json",
success: function(data) {
data_4 = data;
}
}),
$.ajax({
url: site_url_city_5,
type: "GET",
data: window.location.search,
dataType: "json",
success: function(data) {
data_5 = data;
}
})
).then(function() {
//other code
});
我希望在控制台中同时查看所有请求开始,但不正确。
这是我从 firebug 截取的网络截图,你可以看到最后一个请求只有在之前完成时才开始。为什么?异步请求有限制吗?
图片很小,但您可以查看最后两个非异步请求! 第一行不是异步请求,而是在屏幕截图中
我需要让所有请求同时开始
【问题讨论】:
-
简而言之,这取决于您的服务器端实现。
-
好的,但取决于服务器端?
-
对于初学者,您使用什么语言?
-
嗯,我希望使用 .NET,因为我在那里有解决方案。但似乎 php 中并发 ajax 请求的一个常见问题是会话被阻止:stackoverflow.com/questions/15686572/…
-
呃,我不知道是不是问题,因为我使用的是codeIgniter,这个函数非常大,但不用于编写会话,只返回大数组数据
标签: javascript jquery asynchronous