这是我试图运行的代码/函数:
function loadXMLDoc(cart)
{
if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else
{
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",cart,false);
xhttp.send();
return xhttp.responseXML;
}
function getData()
{
if ((xhr.readyState == 4) &&(xhr.status == 200))
{
var serverResponse = xhr.responseXML;
var header = serverResponse.getElementsByTagName("book");
var spantag = document.getElementById("cart");
var x;
spantag.innerHTML = "";
x = "<table cellpadding='1' cellspacing='6' border='0'>";
x += "<tr><td>Title</td><td>ISBN</td><td>Qty</td><td>Total</td><td>Remove</td></tr>";
for (i=0; i<header.length; i++)
{
var id = header[i].getElementsByTagName("id")[0].childNodes[0].nodeValue;
var total = header[i].getElementsByTagName("total")[0].childNodes[0].nodeValue;
var title = header[i].getElementsByTagName("title")[0].childNodes[0].nodeValue;
var isbn = header[i].getElementsByTagName("isbn")[0].childNodes[0].nodeValue;
var qty = header[i].getElementsByTagName("quantity")[0].childNodes[0].nodeValue;
if(qty=="0")
{
continue;
}
x += "<tr>"
+ "<td>" + title + "</td>"
+ "<td>" + isbn + "</td>"
+ "<td>" + qty + "</td>"
+ "<td>" + total + "</td>"
+ "<td>" + "<a href='#' onclick='AddRemoveItem(\"Remove\","+id+");'>Remove Item</a>" + "</td>"
+ "</tr>";
}
x += "</table>";
if (header.length != 0)
spantag.innerHTML = x;
}
}
不幸的是,当我尝试运行它时,我收到了这个错误:
未捕获的TypeError:无法读取null的属性“getElementsByTagName” 在XMLHttpRequest.getData
它指向这一行:var header = serverResponse.getElementsByTagName("book");
我相信loadXMLDoc函数可能有问题。
如何解决此错误的任何想法。 感谢