jQuery: Hacer solicitudes simultáneas de ajax, ¿es posible?

Estoy usando jQuery para tratar de recuperar varias piezas de datos al mismo tiempo. El fondo del requisito es que los diferentes bits de datos toman varios períodos de tiempo para estar disponibles, por lo que quiero mostrar cada pieza a medida que se devuelve.

El problema es que las solicitudes parecen ‘cola’; la siguiente solicitud no continúa hasta que la anterior haya regresado. Después de una extensa lectura, parece que la opción ‘async: false’ podría ser lo que busco, pero parece que no importa.

Desde la depuración TCP / IP puedo ver que el navegador no inicia más de una conexión; usa la misma conexión cuando la solicitud anterior ha regresado.

He visto muchos sitios en mi tiempo que cargan datos sobre ajax simultáneamente, así que obviamente es posible, pero me estoy arrancando los pelos tratando de que esto funcione.

Aquí está mi código:

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

Quieres asincrónico (que es el predeterminado). El navegador lo limita a dos solicitudes en un momento dado. Esto es parte de la especificación HTTP. ( Especificación HTTP 1.1, sección 8.1.4 )

Poner las solicitudes en la cola es tu mejor opción.

Debo señalar que esto puede ser anulado en Firefox y probablemente en otros navegadores. (pero como no es estándar, no te ayuda mucho)

Los navegadores lo limitan a dos solicitudes simultáneas. Es posible que desee utilizar un gestor de colas, como este: http://www.protofunc.com/scripts/jquery/ajaxManager/