用Ajax读取xml文件的简单例子

来源:互联网 发布:端口地址 编辑:程序博客网 时间:2024/04/29 09:27

 Ajax的原理很简单,就是在客户端创建一个XMLHttpRequest对象(用来与服务器进行异步通信,这就是Ajax的核心,其实我们早就在用异步通信了,只是没把这项技术用在网页设计中而已),为该对象的onreadystatechange 属性添加一个事件,当对象的readyState改变的时候就会引发指定的事件。到此就可以就发送请求读取服务器端的XML数据了,最后要做的就是处理数据了。 关于XMLHttpRequest对象,请参考 About XMLHttpRequest Object一文。
看例子: 复制代码

  1. //AjaxDemo.html
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>Asynchronous java script And XML</title>
  7. </head>
  8. <body>
  9. <script type="text/java script">
  10. var xmlHttp=null;
  11. function readyStateChangeHandle()
  12. {
  13.     if(xmlHttp.readyState==4)
  14.     {
  15.         if(xmlHttp.status==200)
  16.         {
  17.             var xmlDOM=xmlHttp.responseXML;
  18.             var xmlRoot=xmlDOM.documentElement;
  19.             try
  20.             {
  21.                 var xmlItem=xmlRoot.getElementsByTagName("item");
  22.                 alert(xmlItem[0].firstChild.data);
  23.             }
  24.             catch(e)
  25.             {
  26.                 alert(e.message);
  27.             }
  28.         }
  29.     }    
  30. }
  31. function ajaxRequest()
  32. {
  33.     if(window.XMLHttpRequest)
  34.     {
  35.         xmlHttp=new XMLHttpRequest();
  36.     }
  37.     else if(window.ActiveXObject)
  38.     {
  39.         xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  40.     }
  41.     xmlHttp.onreadystatechange=readyStateChangeHandle;
  42.     xmlHttp.open("GET","data.xml",true);
  43.     xmlHttp.send(null);
  44. }
  45. </script>
  46. <input type="button" onclick="ajaxRequest()" value="Take me to the world of AJAX" />
  47. </body>
  48. </html>
  49. //data.xml
  50. <?xml version="1.0" encoding="GB2312" ?>
  51. <root>
  52.   <item>Welcome to the world of AJAX(Asynchronous java script And XML)!</item>
  53. </root>

原创粉丝点击