当我在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);
为什么会这样,我该如何解决?
答案 0 :(得分:0)
这可能是HTTP标头问题(例如缺少Accept
标头);观察FF发送的标题(您可以使用Firebug)并尝试在脚本中复制它们(setRequestHeader
)。
否则,这可能是“同源政策”问题。