DoubleEO 发表于 2013-2-7 18:25:22

ajax解析xml数据的两种对比

jquery实现:
function verify() {    var userName = $("#userName").val();    //发送数据    $.ajax({      type:"POST",      //http请求方式      url:"AJAXXMLServer",//服务器段url地址      data:"name=" + userName,//发送给服务器段的数据      dataType:"xml",//告诉JQuery返回的数据格式      success:callback //定义交互完成,并且服务器正确返回数据时的回调函数    });}function callback(data) {    //需要将data这个dom对象中的数据解析出来    //首先需要将dom的对象转换成JQuery的对象    var jqueryObj = $(data);    //获取message节点的文本内容    var text = jqueryObj.children("message").text();    $("#result").html(text);}

js传统实现
//回调函数function callback() {    //alert(xmlhttp.readyState);    //5。接收响应数据    //判断对象的状态是交互完成    if (xmlhttp.readyState == 4) {      //判断http的交互是否成功      if (xmlhttp.status == 200) {            //使用responseXML的方式来接收XML数据对象的DOM对象            var domObj = xmlhttp.responseXML;            if (domObj) {                //<message>123123123</message>                //dom中利用getElementsByTagName可以根据标签名来获取元素节点,返回的是一个数组                var messageNodes = domObj.getElementsByTagName("message");                if (messageNodes.length > 0) {                  //获取message节点中的文本内容                  //message标签中的文本在dom中是message标签所对应的元素节点的字节点,firstChild可以获取到当前节点的第一个子节点                  //通过以下方式就可以获取到文本内容所对应的节点                  var textNode = messageNodes.firstChild;                  //对于文本节点来说,可以通过nodeValue的方式返回文本节点的文本内容                  var responseMessage = textNode.nodeValue;                  //将数据显示在页面上                  //通过dom的方式找到div标签所对应的元素节点                  var divNode = document.getElementById("result");                  //设置元素节点中的html内容                  divNode.innerHTML = responseMessage;                } else {                  alert("XML数据格式错误,原始文本内容为:" + xmlhttp.responseText);                }            } else {                alert("XML数据格式错误,原始文本内容为:" + xmlhttp.responseText);            }      } else {            alert("出错了!!!");      }    }}
页: [1]
查看完整版本: ajax解析xml数据的两种对比