2012-06-18 69 views
1

我正在嘗試第一次使用AJAX,並且遇到錯誤。我見過一些有類似問題的人,但通讀他們後,我仍然無法弄清楚我的代碼有什麼問題。getElementsByTagName()[0]未定義

我得到的問題是,rf.getElementsByTagName("motd")[0]即將到來未定義。

下面的代碼:

function refresh() { 
    var url = document.getElementById("url"); 
    var req; 
    if (window.XMLHttpRequest) { 
     req = new XMLHttpRequest(); 
    } else { 
     req = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    req.onreadystatechange=function() { 
     if (req.readyState==4 && req.status==200) { 
      var rf; 
      if (window.DOMParser) { 
       parser = new DOMParser(); 
       rf=parser.parseFromString(req,"text/xml"); 
      } else { 
       rf = new ActiveXObject("Microsoft.XMLDOM"); 
       rf.async = false; 
       rf.loadXML(req); 
      } 
      document.getElementById("result").innerHTML="<div id=\"success\">"+ 
      rf.getElementsByTagName("motd")[0]+"&nbsp;"; 
     } else { 
      document.getElementById("result").innerHTML="<div id=\"working\">Checking...</div>"; 
     } 
    } 
    req.open("POST","g2mc_status.php",true); 
    req.send("server="+url); 
} 

和(這是所有PHP文件設置爲輸出現在)的XML我想的過程:

<minecraft server="mc.nrd.li" port="25565"> 
    <motd>NerdConglomerate</motd> 
    <players> 
     <online>0</online> 
     <maximum>20</maximum> 
    </players> 
</minecraft> 
+0

工作正常這裏http://jsfiddle.net/cLGGZ/你逝去'req',而不是'req.responseText'或'req.responseXML'的XML解析器 – Esailija

+0

能你告訴了射頻類型。 – vikky

回答