Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Hacer varias peticiones Ajax simultaneas

Estas en el tema de Hacer varias peticiones Ajax simultaneas en el foro de Frameworks JS en Foros del Web. 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', ...
  #1 (permalink)  
Antiguo 11/03/2014, 08:46
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 12 años, 8 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
  #2 (permalink)  
Antiguo 12/03/2014, 12:52
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 12 años, 2 meses
Puntos: 1532
Respuesta: Hacer varias peticiones Ajax simultaneas

ajax ya de por sí es asincrónico, quizás no lo vas porque pasa muy rápido, la idea es que emules un retardo desde el servidor para apreciarlo, aunque no se encolen se van a realizar las peticiones en cola, eso no quiere decir que para comenzar la segunda tiene que terminar la primera, de hecho la primera puede finalizar cuando quiera independientemente de la segunda, porque todas son peticiones independientes
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: ajax, html, javascript, js, peticiones, php, simultaneas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:44.