我使用.get()从一系列页面中提取内容,并希望按照我设置的数组中每个页面出现的顺序附加提取的内容。但是,聚合页面会在他们准备好后立即附加项目。如何指定附加项目的顺序?
function loadHTML() {
for(i = 0; i < 4; i++) {
var slug = ["slug-1", "slug-2", "slug-3", "slug-4"]
$.get('http://website.com/' + slug[i], function(data) {
var text = $(data).find(".text").html();
var title = $(data).find("#title").html();
$("#page").append("<div class='content_block'><h1>" + title + "</h1>" + text + "</div>");
});
}
};
loadHTML();
答案 0 :(得分:3)
您需要使用回调再次呼叫:
var cnt = 0;
var slug = ["slug-1", "slug-2", "slug-3", "slug-4"];
function loadHTML() {
if (cnt>=slug.length) return; // stop
$.get('http://website.com/' + slug[cnt++], function(data) {
var text = $(data).find(".text").html();
var title = $(data).find("#title").html();
$("#page").append("<div class='content_block'><h1>" + title + "</h1>" + text + "</div>");
loadHTML();
});
}
loadHTML();
OR有一个服务器进程获取数组并在一个块中返回数据