Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/03/2014, 08:46
Jamati
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 2 meses
Puntos: 3
Hacer varias peticiones Ajax simultaneas

Hola, buenas tardes,

Tengo en mi archivo JS lo siguiente:
Código:
function Ejecutar(){
Tester('uno');
Tester('dos');
Tester('tres');
Tester('cuatro');
}

function Tester(id){
  $.ajax({
    async: true,
    url: 'grafico_de_proceso.php',
    type: 'post',
    data:  id,
    success: function(data){$('#' + id).html("<p>Capa en trabajo</p>");}
  });

  $.ajax({
    async: true,
    url: 'miurl.php',
    type: 'post',
    data:  id,
    success: function(data){$('#' + id).html("<p>Capa finalizada</p>");}
  });
}
Y en mi HTML hagan de cuenta que tengo lo siguiente:

Código HTML:
<div id='uno'><p>Capa 1</p></div>
<div id='dos'><p>Capa 2</p></div>
<div id='tres'><p>Capa 3</p></div>
<div id='cuatro'><p>Capa 4</p></div>

<a href='javascript:Ejecutar()'>Ejecutar todo</a> 
Si apreto el link de "Ejectuar todo", deseo ejectuar varios Ajax (dos para cada capa). La URL 'grafico_de_proceso.php' la dejé sin hacer nada, para que no demore ni un segundo.

Luego, seguida de esa página, se debe procesar un Ajax de la URL 'miurl.php' donde ahí sí hay consultas a la base de datos, etc... y esto puede demorar algunos segundos.

Así para cada DIV. Pero como ejecuté todo junto, y poniendo "async: true" quiero que inmediatamente después de apretar el link de "Ejectuar todo", la idea es que me aparezcan que las 4 capas están en trabajo (ya que esas peticiones se podría decir que no tienen demora) y luego ir resolviendo las otras.

Pero lo hace de a una, no puede procesar todo.

Como se hace para ejectuar varias peticiones en forma simultanea? No quiero que se encolen, quiero que a medida que va leyendo el JS vaya ejecutando. Lo que hace ahora es hace todo para la capa 1, despues de varios segundos cuando termina, hace la capa 2, luego de varios segundos mas hace la capa 3... y así. No quiero eso.

Saludos y muchas gracias desde ya !!

Última edición por Jamati; 11/03/2014 a las 08:58