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[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("出错了!!!");
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值