Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.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 XMLHttpRequest不工作(空白页)_Javascript_Html_Xml_Xmlhttprequest - Fatal编程技术网

Javascript XMLHttpRequest不工作(空白页)

Javascript XMLHttpRequest不工作(空白页),javascript,html,xml,xmlhttprequest,Javascript,Html,Xml,Xmlhttprequest,我从W3Schools复制了这段代码(以及原始XML文件cd_catalog.XML),得到了一个空白页: <html> <body> <script type="text/javascript"> if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); }

我从W3Schools复制了这段代码(以及原始XML文件cd_catalog.XML),得到了一个空白页:

<html>
<body>

<script type="text/javascript">
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.open("GET","cd_catalog.xml",false);
    xmlhttp.send();
    xmlDoc=xmlhttp.responseXML;

    document.write("<table border='1'>");
    var x=xmlDoc.getElementsByTagName("CD");
    for (i=0;i<x.length;i++)
    {
        document.write("<tr><td>");
        document.write(x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue);
        document.write("</td><td>");
        document.write(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);
        document.write("</td></tr>");
    }
    document.write("</table>");
</script>

</body>
</html>

if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
open(“GET”,“cd_catalog.xml”,false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
文件。填写(“”);
var x=xmlDoc.getElementsByTagName(“CD”);

对于(i=0;i由于您不使用web服务器,请尝试执行以下操作:

xmlhttp.open("GET","file:///C:/cd_catalog.xml", false);
您可能最终需要web服务器,因为浏览器不允许您的脚本访问本地文件,例如,请参阅此处的讨论:

请考虑在您的机器上设置一个简单的Web服务器,如

编辑:我解释规范()的方式是,这必须通过HTTP完成。但这并不完全清楚。在此上下文中可能不允许使用file:URL,因此期望上面的代码片段可能无法工作,并且您将需要一个web服务器

一个相关的问题是:


由于您没有使用web服务器,请尝试执行以下操作:

xmlhttp.open("GET","file:///C:/cd_catalog.xml", false);
您可能最终需要web服务器,因为浏览器不允许您的脚本访问本地文件,例如,请参阅此处的讨论:

请考虑在您的机器上设置一个简单的Web服务器,如

编辑:我解释规范()的方式是,这必须通过HTTP完成。但这并不完全清楚。在此上下文中可能不允许使用file:URL,因此期望上面的代码片段可能无法工作,并且您将需要一个web服务器

一个相关的问题是:


将代码上载到web服务器。您将在所有浏览器(如IE、Chrome或Mozilla)上获得所需的输出。但是,如果您在本地计算机上尝试相同的代码,IE和Chrome将不起作用。

将代码上载到web服务器。您将在所有浏览器(如IE、Chrome或Mozilla)上获得所需的输出。但是如果您尝试此操作,则本地计算机上的ame代码,IE和Chrome将不起作用。

您是如何提供此服务的?我想您的cd_catalog.xml找不到…您是使用Web服务器,还是通过类似URL的文件访问它file:///C:/test/test.html. 后者可能是个问题。如果您尝试
console.log(xmlhttp.responseXML),您会得到什么
?我没有使用web服务器。cd_catalog.xml位于C:/(与cd_catalog.html文件所在的目录相同)。我尝试了console.log(xmlhttp.responseXML),但仍然得到一个空白屏幕:(您是如何提供服务的?我想您的cd_catalog.xml找不到……您是使用Web服务器,还是通过类似URL的文件访问它file:///C:/test/test.html. 后者可能是个问题。如果尝试
console.log(xmlhttp.responseXML)
,您会得到什么?我没有使用web服务器。cd_catalog.xml位于C:/(与cd_catalog.html文件所在的目录相同)。我尝试了console.log(xmlhttp.responseXML),但仍然得到一个空白屏幕。:(尝试了文件内容,在两种浏览器中都不起作用。这是我收到的错误消息(Chrome console):1)无法加载XMLHttpRequestfile:///C:/cd_catalog.xml. 跨源请求仅支持HTTP。2)未捕获错误:NETWORK\u ERR:XMLHttpRequest Exception 101 cd\u catalog.html:14无论如何,我想我会尝试从WAMP或其他地方运行它。web服务器有很多选项,您可以非常轻松地设置。看起来您需要一个。另请参见此处:尝试了文件,但在两个浏览器中都不起作用。这是我收到的错误消息(Chrome控制台):1)无法加载XMLHttpRequestfile:///C:/cd_catalog.xml. 跨源请求仅支持HTTP。2)未捕获错误:NETWORK\u ERR:XMLHttpRequest Exception 101 cd\u catalog.html:14无论如何,我想我会尝试从WAMP或其他地方运行它。web服务器有很多选项,您可以非常轻松地进行设置。看起来您需要一个。另请参见此处: