Javascript 为什么ajax loadXml回调似乎不起作用

Javascript 为什么ajax loadXml回调似乎不起作用,javascript,ajax,Javascript,Ajax,我看不出哪里出错了:我的表是空的,我想用控制台调试,但不知道如何调试 更新:这个示例可以使用,我使用了其中的代码,但是使用了不同的xml,我不明白为什么我的不起作用 XML数据块演示 表,th,td{ 边框:1px纯黑; 边界塌陷:塌陷; } th,td{ 填充物:5px; } 函数parseXML(输入){ var xml=input.responseXML; var parser=新的DOMParser(); var doc=parser.parseFromString(xml,“应用程

我看不出哪里出错了:我的表是空的,我想用控制台调试,但不知道如何调试

更新:这个示例可以使用,我使用了其中的代码,但是使用了不同的xml,我不明白为什么我的不起作用


XML数据块演示
表,th,td{
边框:1px纯黑;
边界塌陷:塌陷;
}
th,td{
填充物:5px;
}
函数parseXML(输入){
var xml=input.responseXML;
var parser=新的DOMParser();
var doc=parser.parseFromString(xml,“应用程序/xml”);
var lineItems=doc.getElementsByTagName(“股票”);
var table=“TickerPrice”;

对于(i=0;i我使用的内容测试了您的函数,它在ie11上运行良好,因此我建议您进行以下更改:

函数解析XML(输入){
var xml=input.responseXML | | input.responseText;
var-doc;
试一试{
var parser=新的DOMParser();
doc=parser.parseFromString(xml,“应用程序/xml”);
}捕捉(错误){
doc=新的ActiveXObject(“Microsoft.XMLDOM”);
doc.async=false;
doc.loadXML(xml);
}
完整代码为:


XML数据块演示
表,th,td{
边框:1px纯黑;
边界塌陷:塌陷;
}
th,td{
填充物:5px;
}
函数parseXML(输入){
var xml=input.responseXML | | input.responseText;
var-doc;
试一试{
var parser=新的DOMParser();
doc=parser.parseFromString(xml,“应用程序/xml”);
}捕捉(错误){
doc=新的ActiveXObject(“Microsoft.XMLDOM”);
doc.async=false;
doc.loadXML(xml);
}
var lineItems=doc.getElementsByTagName(“股票”);
var table=“TickerPrice”;

对于(i=0;i
parseXML
中的
input
是什么?尝试用
.responseText
替换
。responseXML
?可以创建JSFIDLE来演示?为什么
input
可以通过控制台访问?它是函数的本地部分。您是否尝试过从网络选项卡检查服务器的实际响应onse是?甚至
console.log(xml)
?@guest271314此示例有效。我使用了其中的代码,但使用了不同的xml,我不明白为什么我的不可用working@Juhana抱歉,我是初学者,我仍在学习如何使用javascript控制台使用您的建议谢谢,但这个示例有效我使用了来自那里的代码,但使用不同的xml我不明白为什么我的不起作用,所以我需要的是对我的例子的具体帮助,而不是另一个,谢谢。
<!DOCTYPE html>
    <html>
    <head>
    <title>XML Data Block Demo</title>

    <style>
    table, th, td {
    border: 1px solid black;
    border-collapse:collapse;
    }
    th, td {
    padding: 5px;
    }
    </style>

    <script>
    function parseXML(input) {
    var xml = input.responseXML;
    var parser = new DOMParser();
    var doc = parser.parseFromString(xml, "application/xml");
    var lineItems = doc.getElementsByTagName("Stock");

    var table="<tr><th>Ticker</th><th>Price</th></tr>";
    for (i = 0; i <lineItems.length; i++) { 
        table += "<tr><td>" +
        lineItems[i].getElementsByTagName("Ticker")[0].childNodes[0].nodeValue +
        "</td><td>" +
        lineItems[i].getElementsByTagName("Price")[0].childNodes[0].nodeValue +
        "</td></tr>";
    }  

    document.getElementById("table").innerHTML = table;
    }

    function loadXML() {
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (xhttp.readyState == 4 && xhttp.status == 200) {
        parseXML(xhttp);
        }
    };
    xhttp.open("GET", "http://localhost/ajax/xml/demo1/stocks.xml", true);
    xhttp.send();
    }
    </script>
    </head>
    <body onload="loadXML()";>
    <table id="table"></table>
    </body>
    </html>