1

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

这就是我打电话的方式。

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);

为什么会发生,我该如何解决?

4

1 回答 1

0

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

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

于 2012-11-12T10:13:15.380 回答