Javascript 从XML获取元素的问题
我试图从XML文件中检索一些数据,并希望将其插入无序列表中。这就是我的Ajax代码的样子:Javascript 从XML获取元素的问题,javascript,ajax,xml,Javascript,Ajax,Xml,我试图从XML文件中检索一些数据,并希望将其插入无序列表中。这就是我的Ajax代码的样子: var request; //For backward compatibility if(window.XMLHttpRequest){ request = new XMLHttpRequest(); }else{ request = new ActiveXObject("Microsoft.XMLHTTP"); } request.open('GET','data.xml'); requ
var request;
//For backward compatibility
if(window.XMLHttpRequest){
request = new XMLHttpRequest();
}else{
request = new ActiveXObject("Microsoft.XMLHTTP");
}
request.open('GET','data.xml');
request.onreadystatechange = function(){
// if((request.readyState === 4) && (request.Status===200)){
console.log(request.responseXML);
var items = request.responseXML.getElementByTagName('name');
alert('hello');
var ouptput = '<ul>';
for (var i = 0; i >= items.length; i++) {
output += '<li>' + items[i].firstChild.nodeValue + '</li>';
}
output += '</ul>';
document.getElementById('update').innerHTML = output;
//}
}
request.send();
var请求;
//用于向后兼容性
if(window.XMLHttpRequest){
请求=新的XMLHttpRequest();
}否则{
请求=新的ActiveXObject(“Microsoft.XMLHTTP”);
}
open('GET','data.xml');
request.onreadystatechange=函数(){
//if((request.readyState==4)和&(request.Status==200)){
console.log(request.responseXML);
var items=request.responseXML.getElementByTagName('name');
警惕(“你好”);
变量输出=“”;
对于(变量i=0;i>=items.length;i++){
输出+='- '+项[i].firstChild.nodeValue+'
';
}
输出+='
';
document.getElementById('update').innerHTML=output;
//}
}
request.send();
这段代码没有读取我的XML文件,它给了我一个错误,告诉我'Response XML is null(Type error)
我试图在服务器(localhost)中使用它,但它也不起作用
有人能告诉我怎么解决这个问题吗?谢谢。我用jQuery解决了这个问题。。。我就是这样做的
<script>
$(document).ready(function(){
$(".update").append("<ul></ul>");
$.ajax({
type: "GET",
url: "data.xml",
dataType: "xml",
success: function(xml){
$(xml).find('book').each(function(){
var sTitle = $(this).find('title').text();
var sprice = $(this).find('price').text();
$("<li></li>").html(sTitle + ", " + sprice).appendTo(".update ul");
});
},
error: function() {
alert("An error occurred while processing XML file.");
}
});
});
</script>
$(文档).ready(函数(){
$(“.update”)。追加(“
”);
$.ajax({
键入:“获取”,
url:“data.xml”,
数据类型:“xml”,
成功:函数(xml){
$(xml).find('book').each(函数(){
var sTitle=$(this.find('title').text();
var sprice=$(this.find('price').text();
$(“”)html(sTitle+”,“+sprice).appendTo(“.update ul”);
});
},
错误:函数(){
警报(“处理XML文件时出错。”);
}
});
});
你能给我们提供你的Xml吗?为什么如果((request.readyState==4)和&(request.Status==200)){
被注释掉了?