首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

Ajax学习第一章-读取XML

2013-03-10 
Ajax学习第一章--读取XML基础:首先要明白各浏览器获取XMLHttpRequest对象的差异?Firefox, Opera 8.0+, Saf

Ajax学习第一章--读取XML

基础:首先要明白各浏览器获取XMLHttpRequest对象的差异

?

Firefox, Opera 8.0+, Safari:?xmlHttp=new XMLHttpRequest();

IE:xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

其次要明白三行代码

xmlHttp.onreadystatechange = function(){ }

表示响应到达客户端该如何处理,只有在?xmlHttp.open("GET","jilian/ss.xml",true)第三个参数为true才能使用

?xmlHttp.open("GET","jilian/ss.xml",true)

表示Ajax以get的方式向哪一个服务器组件发出请求,第三个参数代表是否使用异步请求true表示是

xmlHttp.send(null);

发送请求

<script type="text/javascript">function change(str){ var xmlHttp; try    {   // Firefox, Opera 8.0+, Safari    xmlHttp=new XMLHttpRequest();    } catch (e)    {  // Internet Explorer   try      {      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");      }   catch (e)      {      try         {         xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");         }      catch (e)         {         alert("您的浏览器不支持AJAX!");         return false;         }      }    } xmlHttp.onreadystatechange = function() {if(xmlHttp.readyState == 4){//取得该XML文件var xml = xmlHttp.responseXML;// 取得XML文档的根         var root = xml.documentElement; //获取标签为sheng的节点var sheng = root.getElementsByTagName("sheng");var shi;var shiSelect="";for(var i = 0;i<sheng.length;i++){//通过getAttribute获取节点的某个属性值if(str == sheng[i].getAttribute("value")){shi = sheng[i].getElementsByTagName("shi");for(var j = 0;j<shi.length;j++){//获取节点之间的内容shiSelect+="<option>"+shi[j].firstChild.nodeValue+"</option>";}}}document.getElementById("shi").innerHTML = shiSelect;}  } xmlHttp.open("GET","jilian/ss.xml",true) xmlHttp.send(null); }</script>  </head>    <body>   <select id="sheng" onchange="change(this.value)">   <option>山东</option>   <option>北京</option>   </select>   <select id="shi">   </select>  </body>

?

?

?读取的XML文件 为

<?xml version="1.0" encoding="UTF-8"?><shengs><sheng value="山东"><shi value="青岛">青岛</shi><shi value="济南">济南</shi><shi value="潍坊">潍坊</shi><shi value="东营">东营</shi><shi value="菏泽">菏泽</shi></sheng><sheng value="北京"><shi value="东城">东城</shi><shi value="西城">西城</shi><shi value="朝阳">朝阳</shi></sheng></shengs>

?在这里要注意Ajax读取XML的方式

?

热点排行