<html>
<head>
<title>建立一個可用的xmlhttpreuqest對象</title>
</head>
<body>
<div id="str"></div><!--請求回來的資料將顯示在該div中-->
<input type="button" value="顯示資料" onclick="post()" />
<script type="text/網頁特效">
function ajax_xmlhttp(){
//在ie中建立xmlhttprequest,適用於ie5.0以上所有版本
var msxmlhttp = new array("msxml2.xmlhttp.5.0","msxml2.xmlhttp.4.0","msxml2.xmlhttp.3.0","msxml2.xmlhttp","microsoft.xmlhttp");
for(var i=0; i<msxmlhttp.length; i++){
try
{
_xmlhttp=new activexobject(msxmlhttp[i]);
}
catch(e)
{
_xmlhttp=null;
}
} //迴圈建立基於ie瀏覽器的xmlhttp.結束
//如果非ie瀏覽器,則建立基於firefox等瀏覽器的xmlhttprequest
if(!_xmlhttp && typeof xmlhttprequest != "undefined")
{
_xmlhttp=new xmlhttprequest();
}
return _xmlhttp;
}
//發送請求函數
function post(){
var ajax = ajax_xmlhttp(); //將xmlhttprequest對象賦值給一個變數.
ajax.open("post","web_ajax.asp教程",true);//佈建要求方式,請求檔案,非同步請求
ajax.onreadystatechange = function(){//你也可以這裡指定一個已經寫好的函數名稱
if(ajax.readystate==4){//資料返回成功
if(ajax.status==200){//http請求狀態代碼返回ok
var xmldata = ajax.responsexml;
var msg = xmldata.getelementsbytagname("msg");//擷取所有的msg元素
var data = msg[0].firstchild.nodevalue;
document.getelementbyid("str").innerhtml = data;
}
}
}
ajax.send(null);
}
</script>
</body>
</html>
xml文檔資料
<?xml version="1.0" encoding="gb2312" ?>
<body>
<msg>一個簡單的asp輸出xml的樣本,以後在我們的ajax教程執行個體中,我們都將使用該檔案進行資料的讀取操作</msg>
<read>
<li>html</li>
<li>css教程</li>
<li>dom</li>
<li>javascript</li>
<li>ajax</li>
</read>
</body>