A veces en mi página hago muchas llamadas ajax a la vez, al mismo tiempo. La idea es que cada elemento se actualice a medida que sus datos estén disponibles (no quiero poner en cola las llamadas). A veces, sin embargo, la página web no actualizará ningún elemento hasta que se completen todas las llamadas ajax.Página espera a que se completen todas las llamadas AJAX antes de actualizar
Por ejemplo, tengo cuatro imágenes seguidas que estoy actualizando: cada imagen tiene su propia devolución de llamada ajax que actualizará su fuente una vez que los datos estén disponibles; el código es como la siguiente:
for (var i = 0; i < numPictures; i++){
Dajaxice.Images.load_picture(callback_function, {'pictureId': i});
}
la callback_function pone la imagen en su elemento de interfaz de usuario, una vez que está listo:
imgSnippet = '<img src="' + data.img_source + '"/>'
$("#" + data.container_id).html(imgSnippet);
(datos son los objetos de esta función recibe del servidor)
Estoy usando (como se puede ver en el ejemplo) dajax (complemento para django) para la funcionalidad AJAX. En el servidor tengo un Apache (2.2) ejecutando django 1.3 vía mod_wsgi.
Cuando se ejecuta, aunque algunas llamadas ajax terminan antes (puedo verlo en mi servidor), la página no actualizará ningún elemento hasta que vuelva la última llamada.
¿Alguna sugerencia?
Gracias,
Este es un duplicado de http://stackoverflow.com/questions/7504264/ajax-simultaneous-loading-of-multiple-images, donde las personas parecen haber respondido a su pregunta. No es ese el caso? – dyoo
¿Las llamadas ajax son síncronas? Si es así, es posible que no obtenga actualizaciones de pantalla hasta que devuelva el control de javascript al sistema. – jfriend00
@dyoo: Buen lugar, pero en realidad no es eso. Veo que esto sucede en un servidor Apache multiproceso – Goro