ajax解析xml数据的两种对比

来源:互联网 发布:怎么做好数据分析 编辑:程序博客网 时间:2024/06/11 02:15

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[0].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("出错了!!!");        }    }}