|
很多時(shí)候無法解析就是Content-Type的問題。
如果本身就是xml文件,請(qǐng)?zhí)^這一步
動(dòng)態(tài)生成的XML一定要將其設(shè)置為text/xml,否則默認(rèn)就是text/html也就是普通的文本了。
常見語(yǔ)言的Content-Type設(shè)置
復(fù)制代碼 代碼如下:
header("Content-Type:text/xml"); //php
response.ContentType="text/xml" //ASP
response.setHeader("ContentType","text/xml"); //jsp
2,xml結(jié)構(gòu)。
<xml一定是要封閉的>
例:
錯(cuò)誤的XML
復(fù)制代碼 代碼如下:
CODE:
<?xml version="1.0" encoding="UTF-8"?>
<name>zhangsan</name>
<id>1</id>
<name>lisi</name>
<id>2</id>
正確的
CODE:
<?xml version="1.0" encoding="UTF-8"?>
<stulist>
<student email="1@1.com">
<name>zhangsan</name>
<id>1</id>
</student>
<student email="2@2.com">
<name>lisi</name>
<id>2</id>
</student>
</stulist>
3,解析
這里引用macnie的
遍歷student(這里還是用上面那個(gè)XML,子節(jié)點(diǎn)是student)
復(fù)制代碼 代碼如下:
$.ajax({
url:'ajax.ASP',
type: 'GET',
dataType: 'xml',//這里可以不寫,但千萬(wàn)別寫text或者h(yuǎn)tml!!!
timeout: 1000,
error: function(xml){
alert('Error loading XML document'+xml);
},
success: function(xml){
$(xml).find("student").each(function(i){
var id=$(this).children("id"); //取對(duì)象
var id_value=$(this).children("id").text(); //取文本
alert(id_value);//這里就是ID的值了。
alert($(this).attr("email")); //這里能顯示student下的email屬性。
//最后么輸出了,這個(gè)是cssrain的寫法,貌似比macnie更JQ一點(diǎn)
$('<li></li>')
.html(id_value)
.appendTo('ol');
});
}
});
最后補(bǔ)充一條:保證服務(wù)器端是utf-8的編碼
JavaScript技術(shù):用JQuery 實(shí)現(xiàn)AJAX加載XML并解析的腳本,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。