XML可从URL行访问,但不能从脚本访问

时间:2012-11-12 10:07:37

标签: javascript xmlhttprequest

当我在FF中键入某个URL时,我会在屏幕上显示返回的XML,因此Web服务显然正在运行。但是,当我尝试从运行JS的本地HTML文档访问它时,我得到了意外的行为。返回的代码是“200 OK”但是根据FireBug,响应部分中没有文本(或者说它是空字符串)和xml(它是null)。

这就是我打电话的方式。

var httpObject = new XMLHttpRequest();
httpObject.open("GET", targetUrl, true);
httpObject.onreadystatechange = function () {
  if (httpObject.readyState == 4) {
    var responseText = httpObject.responseText;
    var responseXml  = httpObject.responseXML;
  }
}
httpObject.send(null);

为什么会这样,我该如何解决?

1 个答案:

答案 0 :(得分:0)

这可能是HTTP标头问题(例如缺少Accept标头);观察FF发送的标题(您可以使用Firebug)并尝试在脚本中复制它们(setRequestHeader)。

否则,这可能是“同源政策”问题。