-1

Chrome コンソールで次のエラーが表示されます。

Uncaught TypeError: Object #<Document> has no method 'getElementByTagName' Calendar.html:160 parseXML Calendar.html:160 XMLHttpRequestObject.onreadystatechange

私の XML は null として出力されます。

私は XML を初めて使用するので、これが何を意味するのかわかりません。XML を検証しましたが、文字セット "text/xml" に関する警告が 1 つだけ表示されますが、それが原因ではないはずです。ここに私が持っているものがあります:

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>
4

1 に答える 1

3

メソッドの名前は通知されgetElementsByTagNameません。getElementByTagNames

于 2013-02-23T21:11:31.843 に答える