使用Javascript在同一域上检索HTML

时间:2011-01-03 11:35:05

标签: javascript javascript-events

假设我在网络服务器上有一个xml文档(www.example.com/example.xml)。在我的主页上,如果我想将该文档作为字符串检索,我该怎么做?

我尝试过xmlhttprequest - 也许我使用它错了?它将其返回为“未定义”。帮助

          var xml_page = new XMLHttpRequest();
            xml_page.open("GET", "http://www.samedomain.com/example.xml", true);
            if (xml_page.readyState == 4 && xml_page.status == 200) {
                var data = xml_page.responseText;
            }
            document.write(data);

3 个答案:

答案 0 :(得分:5)

您的document.write在获取数据之前触发,为了使代码正常工作主要是,它必须是同步请求,如下所示:

xml_page.open("GET", "http://www.samedomain.com/example.xml", false);
xml_page.send(null);

但是,最好保持异步(这会消除document.write ...也是一件好事),如下所示:

xml_page.open("GET", "http://www.samedomain.com/example.xml", true);
xml_page.onreadystatechange = function() {
  if (xml_page.readyState == 4 && xml_page.status == 200) {
    alert(xml_page.responseText);
  }
};
xml_page.send(null);

答案 1 :(得分:0)

试试这个:

var xml_page = new XMLHttpRequest();
xml_page.open("GET", "http://www.samedomain.com/example.xml", true);
if (xml_page.readyState == 4 && xml_page.status == 200) {
  var data = xml_page.responseText;
  document.write(data);
}

答案 2 :(得分:-1)

尝试使用jQuery.get - 它更简单,跨浏览器。