未捕获的TypeError:无法读取未定义

时间:2016-03-07 19:44:13

标签: javascript ajax xml debugging

我正在尝试使用AJAX解析xml文件。有趣的是,当我为不同的XML文件尝试相同的代码时,它起作用了。如果我在alert(txt);行之后添加txt = txt + x[i].childNodes[0].nodeValue + "<br>";,则会显示所有名称的添加。

这是我的代码:

<!DOCTYPE html>
<html>
<head>
<title>Test Page for XML</title>
</head>
<body>
    <p id="demo"> This is a test </p>
    <button type="button" onclick="loadDoc()"> Click here to request data </button>
<script>

function loadDoc() {
  var xhttp, xmlDoc, txt, x, i;
  xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
  if (xhttp.readyState == 4 && xhttp.status == 200) {
    xmlDoc = xhttp.responseXML;
    txt = "";
    x = xmlDoc.getElementsByTagName('sort-name');
    for (i = 0; i < x.length; i++) {

      txt = txt + x[i].childNodes[0].nodeValue + "<br>";
    }

    document.getElementById("demo").innerHTML = txt;
    }
  };
  xhttp.open("GET", "MemberData.xml", true);
  xhttp.send();
}
</script>
</body>
</html>

以下是XML文件的链接。

http://clerk.house.gov/xml/lists/MemberData.xml

0 个答案:

没有答案