Javascript 如何使用ajax检索xml数据

Javascript 如何使用ajax检索xml数据,javascript,xml,Javascript,Xml,我正在尝试使用JavaScript检索存储在XML文件中的数据。但点击按钮后并没有任何反应。点击按钮后什么也没发生。它甚至没有显示任何错误和输出。我无法理解以下代码的错误。请帮忙 请求AJAX学生信息中的XML数据 函数getData() { var-xhr; if(window.XMLHttpRequest) { //IE7+、Firefox、Chrome、Opera、Safari的代码 xhr=newXMLHttpRequest(); //重写emimetype(“text/xml”);

我正在尝试使用JavaScript检索存储在XML文件中的数据。但点击按钮后并没有任何反应。点击按钮后什么也没发生。它甚至没有显示任何错误和输出。我无法理解以下代码的错误。请帮忙


请求AJAX学生信息中的XML数据
函数getData()
{
var-xhr;
if(window.XMLHttpRequest)
{
//IE7+、Firefox、Chrome、Opera、Safari的代码
xhr=newXMLHttpRequest();
//重写emimetype(“text/xml”);
}
其他的
{
//IE6、IE5的代码
xhr=新的ActiveXObject(“Microsoft.XMLHTTP”);
}
xhr.onreadystatechange=函数()
{
如果(xhr.readyState==4&&xhr.status==200)
{
var n=xhr.responseXML;
dispData(n);
}
}
open(“GET”,“student.xml”,true);
xhr.send();
}
函数dispData(xmlDoc)
{
变量a、f1、f2、f3、f4、disp;
//使用javascript属性
a=xmlDoc.documentElement;
f1=a.第一个孩子;
f2=f1.nextSibling;
f3=f2.nextSibling;
f4=f3.nextSibling;
disp=“使用javascript属性
”; disp=disp+“PRN:+f1.firstChild.nodeValue+”

学生姓名:“+f2.firstChild.nodeValue+”
居住在:“+f3.firstChild.nodeValue+”
联系方式:“+f4.firstChild.nodeValue”; //按名称访问XML元素 var t=xmlDoc.getElementsByTagName(“stname”); var f=xmlDoc.getElementsByTagName(“移动”); disp=disp+”

通过名称访问XML元素
学生名:“+t[0]。firstChild.nodeValue+”

调用:“+f[0]。firstChild.nodeValue; document.getElementById('div1')。innerHTML=disp; } AJAX应用中XML的处理 获取学生信息


文本在此显示。。。。。。。。。。。。。。。。。。。。。。。。。。。
xml文件
取名为
121
维杰·夏尔马
奇普伦
94232942090

首先,它在控制台上显示了一些错误。它表示f1.firstChild为空。这是因为该文件中的第一个子节点是空文本节点,因此没有子节点。这意味着您的xml格式不正确。尝试在一行中重写xml,您将看到。它会起作用的。确保没有任何空格,使用工具格式化文件,如确保文件编码正确,并将属性编码放入根标记No,nodeValue未被弃用。问题是f1.firstChild返回null。您不能调用null对象的方法或属性。我不明白,我应该在上面的代码中更改什么。
f1.firstChild.nodeValue
为什么返回null