Este tipo de problema surge por todas partes en el diseño de bases de datos SQL - y aunque no es exactamente la misma - la el problema es exactamente lo que le conseguirá: comunicaciones de red.
Tienes que tener cuidado porque volverá a morderte si no lo haces correctamente, es decir, los usuarios se sentirán muy molestos TENIENDO QUE esperar. No puedo enfatizar esto lo suficiente.
Aquí está el escenario: Desea transferir muchos pequeños fragmentos de información de su servidor a petición. Cada solicitud depende de una serie de factores que operan de manera eficiente. Todos los cuales están fuera de su control:
Wide area Network reposnse time (anywhere in the world right?)
Locak area Network reposnse time (anywhere in the building)
WebServer Load
WebServer Response time
Database response time
Backend Script run time
Javascript run time to process the result
The fact that the browsers are generally limited to 6-8 parallel AJAX requests at once (I think - someone correct me on the exact number)
que se multiplican por petición (erm ... en su caso x 100)
Obtener la foto?
Podría funcionar maravillosamente bien en la prueba en una máquina local. Incluso podría estar ejecutando su propio db y servidor web en la misma máquina exacta ...pero intente eso en la naturaleza y en poco tiempo considerará la falta de fiabilidad como un problema.
Escucha, lo más simple es concluir TODOS los parámetros en UNA matriz JS y enviarlos en UNA SOLICITUD POST. Luego, en el servidor, toda su base de datos selecciona y acumula las respuestas en UNA RESPUESTA DE JSON/XML.
En ese momento, solo está esperando una respuesta de AJAX. Puede encontrar todos sus datos en el resultado JSON/XML.
Dado que está trabajando con 100 solicitudes, ¡probablemente pueda realmente medir el ahorro de tiempo con un cronómetro!
Tómelo de mi parte: haga la menor cantidad posible de solicitudes de red.
¿Son estas llamadas separadas ajax() o una donde se cambia la URL de solicitud? –
Creo que la misma solución de http://stackoverflow.com/questions/6239333/preventing-submit-until-ajaxes-are-done podría funcionar para usted. – Niklas
Matthew Riches: Varios. Niklas: Gracias :) ¡Lo investigaré! – Eax