初学ajax就碰到一堆问题,拜托各位解答一下
Cain 2005-11-18 04:58:18 <script language="javascript" type="text/javascript">
function refresh(){
var oXMLDoc = new ActiveXObject('MSXML'); //创建'MSXML'对象
var sURL = "./customize/customize.xml"; //获取登陆状态数据的地址
oXMLDoc.url = sURL; //load数据
var oRoot = oXMLDoc.root; //获取返回xml数据的根节点
var name;
var url;
var link;
var createtime;
if(oRoot.children != null){
var outputString = "";
outputString += "<table width=300 border=1><tr>";
for (var i = 0, j = 0; i < oRoot.children.length; i++, j++)
{
var parent = oRoot.children.item(i);
if (0 == (j % 2))
{
outputString += "</tr><tr>";
}
// for (var j = 0; j < parent.children.length; j++)
// {
name = parent.children.item(0).text;
url = parent.children.item(1).text;
link = parent.children.item(2).text;
createtime = parent.children.item(3).text;
outputString += "<td><a href='"+link+"'>"+ url +"</a><br>"+name+"</td>";
// }
}
outputString += "</tr></table>";
jindu.innerHTML = outputString;
}
}
function refresh_2(){
var oXMLDoc;
if (window.XMLHttpRequest) { // Mozilla or ...
oXMLDoc = new XMLHttpRequest();
oXMLDoc.open("GET", "http://localhost/ajax/customize.xml", false);
oXMLDoc.send();
alert(oXMLDoc.responseText); // 不知道在firefox下这里的代码究竟应该怎么写
} else if (window.ActiveXObject) { // IE
oXMLDoc = new ActiveXObject("Microsoft.XMLHTTP");
oXMLDoc.open("GET", "http://localhost/ajax/customize.xml", false);
oXMLDoc.send();
document.write(oXMLDoc.responseText);
// 这里可以正常响应并返回xml对象,但是我不知道该怎么获取这个对象的各个属性
// 我用oRoot.root不能返回这个根节点,也不能使用oRoot.children
// 为什么refresh()却可以?
var oRoot = oXMLDoc.responseXML;
}
// ......
}
function dorefresh(){
var timeoutid = setInterval("refresh()",2000);
}
</script>
<html>
<head>
</head>
<body onLoad="dorefresh();"> <!-- end body tag -->
<div ID="jindu" >
</div>
</body>
</html>
xml文件:
<?xml version="1.0" encoding="gb2312" ?>
<imageCenter>
<image>
<name>a</name>
<url>b</url>
<link>c</link>
<createtime>2005-11-17 11:13:00</createtime>
</image>
</imageCenter>
另外还有一个问题,Microsoft.XMLHTTP 和 MSXML有什么区别?