读书人

[转]js操作异步请求回到的XML数据操作

发布时间: 2012-09-17 12:06:51 作者: rapoo

[转]js操作异步请求返回的XML数据操作

    //兼容性创建xmlHttp对象      if (window.ActiveXObject && !window.XMLHttpRequest) {          window.XMLHttpRequest = function() {              var msxmls = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0",                            "MSXML2.XMLHttp", "Microsoft.XMLHttp"],ex;              for (var i = 0; i < msxmls.length; i++)              try {                  return new ActiveXObject(msxmls[i])              } catch(ex) {}              throw new Error("No   XML   component   installed! ");          }      }      //实例化一个xmlhttp对象      var xmlHttp = new XMLHttpRequest();      //XMLHttp的readyState状态改变时处理函数绑定      xmlHttp.onreadystatechange = HandlerStateChange;            //创建一个新的http请求,并指定此请求的方法、URL以及验证信息      xmlHttp.open("GET", "SiteConfigXML.xml", false);            //发送请求到http服务器并接收回应      xmlHttp.send();            function HandlerStateChange() {      //状态0 -- 对象已建立,但是尚未初始化(尚未调用open方法)      //状态1 -- 对象已建立,尚未调用send方法      //状态2 -- send方法已调用,但是当前的状态及http头未知      //状态3 -- 已接收部分数据,因为响应及http头不全,      //         这时通过responseBody和responseText获取部分数据会出现错误      //状态4 -- 数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据      //alert(xmlHttp.readyState)                //返回当前请求的http状态码[200--成功          //alert(xmlHttp.status);          if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {              //responseText 将响应信息作为字符串返回              //responseXML  xml的文档节点              var xmlData = xmlHttp.responseXML;              //documentElement 返回跟节点              var root = xmlData.documentElement;              //attributes 获取属性集合              var attr = root.attributes;              //alert(attr.length)              //ie下获取节点值 text              //FF下获取节点值 textContent              //兼容性获取              var oFind = root.getElementsByTagName("findTag")[0];              var isFindTXT = root.text ? oFind.text: oFind.textContent;              alert(isFindTXT)          }      }  


读书人网 >JavaScript

热点推荐