有時在我的頁面上,我會同時執行很多ajax調用。這個想法是每個元素在數據變得可用時都會被更新(我不想排隊調用)。但是,有時候,網頁在所有ajax調用完成之前都不會更新任何元素。例如,我正在更新一行中的四張圖片 - 每張圖片都有自己的ajax回調函數,一旦數據可用,它將更新它的源代碼;代碼看起來是這樣的:頁面在更新之前等待所有AJAX調用完成
for (var i = 0; i < numPictures; i++){
Dajaxice.Images.load_picture(callback_function, {'pictureId': i});
}
的CALLBACK_FUNCTION將圖像到它的UI元素一旦其準備:
imgSnippet = '<img src="' + data.img_source + '"/>'
$("#" + data.container_id).html(imgSnippet);
(數據是從服務器接收到這個函數的對象)
我正在使用(如您在示例中看到的)dajax(用於django的插件)用於AJAX功能。在服務器端,我有一個Apache(2.2)通過mod_wsgi運行django 1.3。
當執行時,即使某些ajax調用較早完成(我可以在我的服務器上看到它),頁面將不會更新任何元素,直到最後一次調用返回。
有什麼建議嗎?
感謝,
這是http://stackoverflow.com/questions/7504264/ajax-simultaneous-loading-of-multiple-images的重複,其中人們似乎已經回答了您的問題。情況並非如此嗎? – dyoo
ajax調用是否同步?如果是這樣,您可能無法獲得屏幕更新,直到您將javascript控件返回給系統。 – jfriend00
@dyoo:好點,但實際上並非如此。我看到這發生在多線程Apache服務器上 – Goro