用Ajax讀取xml文件的簡單例子
更新時間:2008年04月28日 19:11:06 作者:
Ajax的原理很簡單,就是在客戶端創(chuàng)建一個XMLHttpRequest對象(用來與服務器進行異步通信,這就是Ajax的核心,其實我們早就在用異步通信了,只是沒把這項技術用在網頁設計中而已),為該對象的onreadystatechange 屬性添加一個事件,當對象的readyState改變的時候就會引發(fā)指定的事件。
到此就可以就發(fā)送請求讀取服務器端的XML數(shù)據(jù)了,最后要做的就是處理數(shù)據(jù)了。 關于XMLHttpRequest對象,請參考About XMLHttpRequest Object一文。
看例子:
//AjaxDemo.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Asynchronous JavaScript And XML</title>
</head>
<body>
<script type="text/javascript">
var xmlHttp=null;
function readyStateChangeHandle()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
var xmlDOM=xmlHttp.responseXML;
var xmlRoot=xmlDOM.documentElement;
try
{
var xmlItem=xmlRoot.getElementsByTagName("item");
alert(xmlItem[0].firstChild.data);
}
catch(e)
{
alert(e.message);
}
}
}
}
function ajaxRequest()
{
if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttp.onreadystatechange=readyStateChangeHandle;
xmlHttp.open("GET","data.xml",true);
xmlHttp.send(null);
}
</script>
<input type="button" onclick="ajaxRequest()" value="Take me to the world of AJAX" />
</body>
</html>
//data.xml
<?xml version="1.0" encoding="GB2312" ?>
<root>
<item>Welcome to the world of AJAX(Asynchronous JavaScript And XML)!</item>
</root>
看例子:
//AjaxDemo.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Asynchronous JavaScript And XML</title>
</head>
<body>
<script type="text/javascript">
var xmlHttp=null;
function readyStateChangeHandle()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
var xmlDOM=xmlHttp.responseXML;
var xmlRoot=xmlDOM.documentElement;
try
{
var xmlItem=xmlRoot.getElementsByTagName("item");
alert(xmlItem[0].firstChild.data);
}
catch(e)
{
alert(e.message);
}
}
}
}
function ajaxRequest()
{
if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttp.onreadystatechange=readyStateChangeHandle;
xmlHttp.open("GET","data.xml",true);
xmlHttp.send(null);
}
</script>
<input type="button" onclick="ajaxRequest()" value="Take me to the world of AJAX" />
</body>
</html>
//data.xml
<?xml version="1.0" encoding="GB2312" ?>
<root>
<item>Welcome to the world of AJAX(Asynchronous JavaScript And XML)!</item>
</root>
您可能感興趣的文章:
- AJAX使用post發(fā)送數(shù)據(jù)xml格式接受數(shù)據(jù)
- jQuery+ajax讀取并解析XML文件的方法
- Jquery Ajax學習實例 向頁面發(fā)出請求,返回XML格式數(shù)據(jù)
- javascript解析ajax返回的xml和json格式數(shù)據(jù)實例詳解
- jquery $.ajax()取xml數(shù)據(jù)的小問題解決方法
- JS通過ajax動態(tài)讀取xml文件內容的方法
- 用Ajax讀取XML格式的數(shù)據(jù)
- 通過AJAX的JS、JQuery兩種方式解析XML示例介紹
- JS使用ajax從xml文件動態(tài)獲取數(shù)據(jù)顯示的方法
- 用JQuery 實現(xiàn)AJAX加載XML并解析的腳本
- Ajax對xml信息的接收和處理操作實例分析