【发布时间】:2011-11-22 04:29:14
【问题描述】:
我有一个图片网格(3x3,并排,布置在 a 中)。我需要经常更新这个网格。由于每张图片都独立于其他图片(它们是从不同位置抓取的),我选择通过自己的 ajax 回调加载每张图片,如下所示:
for (var i=0; i < numPictures; i++) {
Dajaxice.loadPicture(callback_loadPicture, {'picture_id':i})
}
函数 callback_loadPicture() 将图片放到 .
问题是:通常,即使某些图片会比其他图片更快地完成加载,浏览器在最后一次 ajax 调用完成之前不会显示任何内容。由于某些调用可能会超时,这意味着在该单张图片超时之前我什么都看不到。
这在每个浏览器中的行为略有不同:有时图片会在回调完成时显示(但通常不会),有时浏览器会显示一些图片,但推迟显示所有图片,直到最后一张完成加载。
我正在使用:
- django 1.3 (python 2.7)
- windows x64 作为(测试)服务器
- 用于 ajax 实现的 dajaxice
我愿意改变我的代码结构。
任何 cmet 或建议将不胜感激。
【问题讨论】:
-
所以您在开发中看到了这种行为,大概是在使用 runserver 管理命令时? Django 开发 Web 服务器是单线程的:它一次只能处理一个请求。因此,与生产 Web 服务器不同,每个 AJAX 调用都是阻塞的。
标签: javascript ajax django user-interface