Javascript 为什么ajax loadXml回调似乎不起作用
我看不出哪里出错了:我的表是空的,我想用控制台调试,但不知道如何调试 更新:这个示例可以使用,我使用了其中的代码,但是使用了不同的xml,我不明白为什么我的不起作用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数据块演示
表,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;iparseXML
中的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>