我正在编写一些 jquery 来获取一组 xml 文件。然后它将遍历这些并解析它们以在页面上显示它们。我有这个工作但我想做的一件事是在它列出内容之前,我希望它打印文件的名称。这是我的代码。
$.get('inc/getMenuFiles.php', function(data) {
var catSplit = data.split(",");
var menuitems = $('.menuitems');
menuitems.empty();
for (i=2; i<catSplit.length; i++) {
url = "inc/menulists/" +catSplit[i].replace(/"/g, '').replace(/]/g, '');
catName = catSplit[i].replace(/"/g, '').replace(/.xml/g, '').replace(/]/g, '');
menuitems.append(catName);
$.ajax({
type: "GET",
url: url,
dataType: "xml",
success: function(xml) {
$(xml).find('item').each(function(){
var name = $(this).find('name').text();
var price = $(this).find('price').text();
menuitems.append(name + " - $" +price + "<br />");
});
}
});
}
});
这是无效的,但如果我这样做,它会起作用
$.ajax({
type: "GET",
url: url,
async: true,
dataType: "xml",
success: function(xml) {
$(xml).find('item').each(function(){
var name = $(this).find('name').text();
var price = $(this).find('price').text();
menuitems.append(name + " - $" +price + "<br />");
});
}
}).delay();
所以我想我只需要在那个ajax调用之后适当地添加一个延迟