Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可从URL行访问XML,但不能从脚本访问_Javascript_Xmlhttprequest - Fatal编程技术网

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

Javascript 可从URL行访问XML,但不能从脚本访问,javascript,xmlhttprequest,Javascript,Xmlhttprequest,当我在FF中键入某个URL时,返回的XML将显示在屏幕上,因此web服务显然正在工作。然而,当我试图从运行JS的本地HTML文档中访问它时,会出现意外的行为。根据FireBug,返回的代码是“200 OK”,但在响应部分中没有文本(或者说它是空字符串)或xml(它是null) 这就是我打电话的方式 var httpObject = new XMLHttpRequest(); httpObject.open("GET", targetUrl, true); httpObject.onreadyst

当我在FF中键入某个URL时,返回的XML将显示在屏幕上,因此web服务显然正在工作。然而,当我试图从运行JS的本地HTML文档中访问它时,会出现意外的行为。根据FireBug,返回的代码是“200 OK”,但在响应部分中没有文本(或者说它是空字符串)或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);

为什么会发生这种情况?我如何解决它?

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


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

是否在同一域中?如果没有,则必须使用JSONP处理跨域请求。