jQuery:同时发出ajax请求,有可能吗?

我正在使用jQuery同时尝试检索多个数据。要求的背景是不同的数据位需要不同的时间才能变得可用,因此我希望在返回时显示每个部分。

问题是请求似乎“排队”;下一个请求在前一个请求返回之前不会发生。经过广泛阅读后,似乎选择’async:false’可能就是我所追求的,但这似乎没有任何区别。

从TCP / IP调试我可以看到浏览器不会启动多个连接;它在先前请求返回时使用相同的连接。

我在我的时间里看到很多网站同时在ajax上加载数据,所以很明显它是可能的,但是我正在试图让它发挥作用。

这是我的代码

$.ajax({
    type: "GET",async: false,url: "foo1.PHP"
    });
$.ajax({
    type: "GET",url: "foo2.PHP"
    });
$.ajax({
    type: "GET",url: "foo3.PHP"
    });

解决方法

你想要异步(这是默认的)。浏览器会在任何给定时间将您限制为两个请求。这是HTTP规范的一部分。 ( HTTP 1.1 specification,section 8.1.4)

将请求放入队列是最佳选择。

我应该注意,这可以在Firefox和其他一些浏览器中被覆盖。 (但因为它不标准,它对你没有多大帮助)

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...