如何使用ajax返回xml文件中的数据!

net_vs 2007-05-16 09:30:48
一个a.xml文件,
<?xml version="1.0" encoding="utf-8" ?>
<types>
<type>
<id>0001</id>
<name>产品类型1</name>
</type>
<type>
<id>0002</id>
<name>产品类型2</name>
</type>
<type>
<id>0003</id>
<name>产品类型3</name>
</type>
<type>
<id>0004</id>
<name>产品类型4</name>
</type>
<type>
<id>0005</id>
<name>产品类型5</name>
</type>
<type>
<id>0006</id>
<name>产品类型6</name>
</type>
</types>
如何返回里面的全部数据呢?
以下是我写的代码,为什么不行?
function createXMLHttpRequest()
{
if(window.XMLHttpRequest)
{
return xmlObj = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
return xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
return null;
}
}

function loadXml()
{
var xmlObj=false;
xmlObj=createXMLHttpRequest();
xmlObj.onreadystatechange=selectload;
xmlObj.open('get',"Configs/prodType.xml",true);
xmlObj.send('');
}
function selectload()
{
if (xmlObj.readyState == 4)
{
if (xmlObj.status == 200)
{
var Textnode=document.createTextNode(xmlObj.responseXML.getElementsByTagName('type')[0].firstChild.data);
document.getElementById('mydiv').appendChild(Textnode);

}
}
希望高手指点一下!
}
...全文
532 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
amangoing 2008-12-25
  • 打赏
  • 举报
回复
tete 2007-05-16
  • 打赏
  • 举报
回复
那就是对象建的有问题
net_vs 2007-05-16
  • 打赏
  • 举报
回复
总是提示responseXML未定义!
duwa789 2007-05-16
  • 打赏
  • 举报
回复
<html>
<head>
<title>无标题页</title>

<script type="text/javascript">
var xmlObj;

function createXMLHttpRequest()
{
if(window.XMLHttpRequest)
{
return xmlObj = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
return xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
return null;
}
}

function loadXml()
{
createXMLHttpRequest();
xmlObj.onreadystatechange = selectload;
xmlObj.open('get',"test.xml",true);
xmlObj.send(null);
}
function selectload()
{
if (xmlObj.readyState == 4)
{
if (xmlObj.status == 200)
{
var types = xmlObj.responseXML.getElementsByTagName('types');
var type = types[0].childNodes;
for (var i = 0, l = type.length; i < l ; i++) {
var div = document.createElement('div');
div.innerHTML = type[i].text;
document.getElementById('mytext').appendChild(div);
}
}
}
}
</script>

</head>
<body>
<div id="mytext" style="direction: ltr; letter-spacing: normal; position: static;
background-color: #cc99ff; text-align: center">
</div>
<input onclick="loadXml()" type="button" value="更新DIV" />
</body>
</html>
tvrcgo 2007-05-16
  • 打赏
  • 举报
回复
判断多种浏览器的情况

var xmlhttp;

function getxmlhttp()
{
try
{
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
xmlhttp=false;
}
}

if(!xmlhttp&&typeof XMLHttpRequest!='undefined')
{
xmlhttp=new XMLHttpRequest();
}

return xmlhttp;
}
huivip 2007-05-16
  • 打赏
  • 举报
回复
<script type="text/javascript">
var xmlObj;

function createXMLHttpRequest()
{
if(window.XMLHttpRequest)
{
return xmlObj = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
return xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
return null;
}
}

function loadXml()
{
createXMLHttpRequest();
xmlObj.onreadystatechange = selectload;
xmlObj.open('get',"test.xml",true);
xmlObj.send(null);
}
function selectload(requset)
{
if (requset.readyState == 4)
{
if (requset.status == 200)
{
var types = requset.responseXML.getElementsByTagName('types');
var type = types[0].childNodes;
for (var i = 0, l = type.length; i < l ; i++) {
var div = document.createElement('div');
div.innerHTML = type[i].text;
document.getElementById('mytext').appendChild(div);
}
}
}
}
</script>

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧