我在下面有一个每个循环,它通过 div#canvas(与 HTML5 的画布无关)寻找必须加载的元素。基本上,如果一个元素具有目标属性(第 1 行)并且指向的目标(target$)不在 div#canvas(第 6 行)中,则会启动 Ajax $.post 请求(第 7 行)以将丢失的目标带入从服务器并将其添加到 div#canvas。
$("#canvas .active[target]").each(function() {
this$ = $(this);
targetName = this$.attr('target');
target$ = $('div[name=' + targetName + ']');
if (target$.length == 0) {
$.post('loadData.php', { fileName : targetName + '.xml' },function(xml) {
canvasData$ = $(xml).find("canvasData");
$('#canvas').prepend(canvasData$);
});
}
});
当所有这些缺失的目标都被加载后,我想发出一个 Ajax 请求将所有目标发送div#canvas
到服务器。该调用如下所示:
Status$.load('writePage.php', {
pageName: pageName,
seg1: seg1,
canvas: canvasOuterHTML,
seg2: seg2
});
有人可以提出最好的方法来推迟最后一次调用,writePage
直到所有丢失的目标读取完成?
谢谢。