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("出錯了!!!");
}
}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章