我在chrome控制台上收到这个错误:
Uncaught TypeError: Object #<Document> has no method 'getElementByTagName' Calendar.html:160
parseXML Calendar.html:160
XMLHttpRequestObject.onreadystatechange
我的XML显示为null。
我是XML的新手,所以我不确定这意味着什么。我已经验证了我的XML,它只给了我一个关于字符集"text/XML"的警告,但这不应该是导致它的原因
用于获取XML数据的按钮处理程序。
<input type="submit" onclick="getServerData('Event.XML','divData')" value="Serve Me" />
然后开始。
function parseXML(xmlData){
var eventYear = xmlData.getElementsByTagName("year");
var eventMonth = xmlData.getElementsByTagName("month");
var eventDay = xmlData.getElementsByTagName("day");
var eventHour = xmlData.getElementsByTagName("hours");
var eventMinute = xmlData.getElementsByTagName("minutes");
var eventTitle = xmlData.getElementsByTagName("title");
}
function getServerData(dataIN,tagOUT)
{
var dataOutput=document.getElementById(tagOUT)
//alert(dataIN)
//alert(tagOUT)
if(XMLHttpRequestObject)
{
XMLHttpRequestObject.open("GET", dataIN);
XMLHttpRequestObject.onreadystatechange = function(){
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
{
var xmlResponse = XMLHttpRequestObject.responseXML;
parseXML(xmlResponse);
dataOutput.innerHTML = xmlResponse;
}
}
XMLHttpRequestObject.send(null);
}
}
以下是XML示例:
<event>
<date>
<year>2013</year>
<month>2</month>
<day>4</day>
</date>
<time>
<start>
<hours>12</hours>
<minutes>00</minutes>
</start>
<end>
<hours>2</hours>
<minutes>30</minutes>
</end>
</time>
<title>Party</title>
</event>
方法的名称是getElementsByTagName
而不是getElementByTagName
,请注意s
。