一:例子 aaron.htm
<SCRIPT LANGUAGE="JavaScript">
var bloglist=new Array();
var xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
function startload(){
xmlHttp.open("GET", "http://blog.csdn.net/aaronbai/Rss.aspx", true);
xmlHttp.onreadystatechange=function() {
if (xmlHttp.readyState==4&&xmlHttp.status==200) {
var xmldom=xmlHttp.responseXML;
var channel=xmldom.documentElement.childNodes.item(0);
var itemlist=channel.childNodes;
for(var i=0;i<itemlist.length;i++){
var node=itemlist.item(i);
if(node.tagName=="title"){
blogtitle.innerHTML=node.text;
}
if(node.tagName=="link"){
bloglink.href=node.text;
}
if(node.tagName=="description"){
blogdescription.innerHTML=node.text;
}
if(node.tagName=="item"){
bloglist[bloglist.length]=node.childNodes;
}
}
for(var i=0;i<bloglist.length;i++){
showitem(bloglist[0]);}
}
}
xmlHttp.send(null);
}
function showitem(itemlist){
for(var i=0;i<itemlist.length;i++){
var node=itemlist.item(i);
if(node.tagName=="title"){
itemtitle.innerHTML=node.text;
}
if(node.tagName=="link"){
itemlink.href=node.text;
}
if(node.tagName=="description"){
description.innerHTML=node.text;
}
if(node.tagName=="dc:creator"){
author.innerHTML=node.text;
}
if(node.tagName=="pubDate"){
pubDate.innerHTML=node.text;
}
}
}
</SCRIPT>
<body onload="startload()">
<font color=blue><a id="bloglink" href="#"><div id="blogtitle"></div></a></font>
<br>
By <font color=blue><div id="managingEditor"></div>AaronBai</font><br>
<font color=blue><div id="blogdescription"></div></font><br>
<br>
<font color=#000066><a id="itemlink" href="#"><div id="itemtitle"></div></a></font><br>
By <font color=blue><div id="author"></div></font><br>
<div id="description"></div><br>
<div id="pubDate" align="right"></div>
</body>
二:readyState一共有5個可能的值:
readyState 狀態解釋
0 未初始化對象已建立,尚未調用open()
1 已初始化調用open()方法以後
2 發送資料調用send()方法以後
3 資料傳送中在已經接到部分資料,但尚未接收完成
4 完成資料全部接收完成
三:一個XMLHttpRequest,在順利讀取了資料之後,可以有四種方法,
得到這個資料。
responseText 將響應資訊作為字串返回
responseXML 將響應資訊格式化為XMLDOM對象並返回
responseBody 將響應資訊以unsigned byte數組的形式返回
responseStream 將響應資訊以IStream對象的形式返回