我刚刚开始使用AJAX。我有一个关于错误检查的查询,它在java脚本中解析XML数据。实际上我正在使用C代码动态创建XML文件。有一段时间,在下一行是“无法读取子节点”的错误。的 xmlDoc.getElementsByTagName( “发送”)[0] .childNodes [0] .nodeValue 即可。因此,在使用此行之前,有任何方法可以检查我的XML数据是否包含我正在寻找的所有标记。所以我可以检查并采取适当的行动。
我知道,我应该在创建XML文件时提供适当的标签。但如果我错过了一些时间,那么我希望我的java脚本应该检查。
我用来阅读XML的部分代码。
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","note.xml?"+ Math.random(),false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
提前致谢...
答案 0 :(得分:2)
我认为一种方法是
var to = xmlDoc.getElementsByTagName("to")[0]
document.getElementById("to").innerHTML = to && to.childNodes.length ? to.childNodes[0].nodeValue : '';
答案 1 :(得分:2)
您缺少onreadystatechange
功能。
var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET","note.xml?"+ Math.random(),false);
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var xmlDoc = xmlhttp.responseXML;
document.getElementById("to").innerHTML = xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
}
}
xmlhttp.send();
确保您没有尝试从w3schools
这样的来源学习AJAX。将MDN用于learning AJAX或任何JavaScript。