Tengo en mi archivo JS lo siguiente:
Código:
Y en mi HTML hagan de cuenta que tengo lo siguiente: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>");} }); }
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>
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 !!