La situación es esta.
Hay un script en PHP, que hace muchas querys a la BD (inserts y deletes). Este script tarda bastante en ejecutarse (10 min aprox). Antes, habia una opción en el menú principal del sistema, que redireccionaba mediante un "<a href='batch_muchas_querys.php'>" a este script que realiza muchas querys.
El problema es que:
Cuando se hacía click en el ancla, se estaba 10 min esperando que el script termine de hacer las querys (o sea, no se usaba el sistema por 10min).
Entonces la solución que había pensado es de envíar la petición por AJAX, para ejecutar el script de "batch_muchas_querys" sin esperar ningún tipo de respuesta por parte del mismo. Entonces ni bien se envíe la petición, el usuario va a poder seguír navegando por el sitio.
Esto no fué así. Después hacer la nueva implementación, al envíar la petición, el navegador se sigue quedando "congelado" hasta que termina la ejecución de "batch_muchas_querys".. Probé esto ultimo con varios navegadores.
Dejo el código:
Código Javascript:
Ver original
addEvent(window,'load',inicializarEventos,false); function inicializarEventos() { var ob; ob=document.getElementById('actualizartablas'); addEvent(ob,'click',presionEnlace,false); } function presionEnlace(e) { if(confirm('¿Desea actualizar tablas?')){ if (window.event) { window.event.returnValue=false; actualizartablas(); } else if (e) { e.preventDefault(); actualizartablas(); } } } var conexion1; function actualizartablas() { var url='../control/895batch_consultas_generales.php'; conexion1=crearXMLHttpRequest(); conexion1.open("GET", url, true); conexion1.send(null); }
Que opinan??.. Cómo puedo hacer para que el usuario seleccione una opción, se envíe la petición al servidor para ejecuctar el "batch_muchas_querys", pero que inmediatamente después, pueda seguir navegando por las distintas partes del sitio (sin tener que esperar los 10 min)?...
Espero haberme echo entender. Cualquier cosa que no se entienda avisen y edito.
Saludos y gracias che!