1

我正在创建的网站包含在多个页面上使用的信息。我设置它的方式是将信息存储在 xml 文件中。然后我使用 AJAX 加载 xml 文件,成功后我调用一个解析方法来附加 th。

似乎发生了竞争情况。页面在 xml 文件完成解析之前完成加载。如果我在解析方法中添加一个警报,那么它工作正常(这就是为什么我认为它是一个竞争条件)。

function loadXML(link) {

$('#div1').load(link);
loadImage(link);

if (link == "news.html") {
    $.ajax({
        type: "GET",
        url: "news.xml",
        dataType: "xml",
        success: newsParser
     });
  }
}

当我在网上搜索时,我看到了可能使用信号量或超时的事情。这些似乎都不适合我。

如果 html 页面未在 xml 之前加载,则没有 div 可添加信息。当您转到该页面并存储数据时,我还尝试加载不同的 xml 文件,以便在您每次转到特定页面时都不会对其进行解析,但我没有成功弄清楚这一点。

我感谢提供的任何帮助!

4

1 回答 1

1

您可以使用 jQuery(您已经在使用)等待 DOM 加载: $().ready()- http://api.jquery.com/ready/

$(document).ready(function(){ 
  $('#div1').load(link); 
  loadImage(link); 
  //etc..
}
于 2012-10-04T21:01:39.120 回答