用JQuery 實現(xiàn)AJAX加載XML并解析的腳本
更新時間:2009年07月25日 10:15:08 作者:
用JQuery 實現(xiàn)AJAX加載XML并解析的腳本
1,Content-Type
很多時候無法解析就是Content-Type的問題。
如果本身就是xml文件,請?zhí)^這一步
動態(tài)生成的XML一定要將其設(shè)置為text/xml,否則默認就是text/html也就是普通的文本了。
常見語言的Content-Type設(shè)置
header("Content-Type:text/xml"); //php
response.ContentType="text/xml" //asp
response.setHeader("ContentType","text/xml"); //jsp
2,xml結(jié)構(gòu)。
<xml一定是要封閉的>
例:
錯誤的XML
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(這里還是用上面那個XML,子節(jié)點是student)
$.ajax({
url:'ajax.asp',
type: 'GET',
dataType: 'xml',//這里可以不寫,但千萬別寫text或者html!!!
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"); //取對象
var id_value=$(this).children("id").text(); //取文本
alert(id_value);//這里就是ID的值了。
alert($(this).attr("email")); //這里能顯示student下的email屬性。
//最后么輸出了,這個是cssrain的寫法,貌似比macnie更JQ一點
$('<li></li>')
.html(id_value)
.appendTo('ol');
});
}
});
最后補充一條:保證服務(wù)器端是utf-8的編碼
很多時候無法解析就是Content-Type的問題。
如果本身就是xml文件,請?zhí)^這一步
動態(tài)生成的XML一定要將其設(shè)置為text/xml,否則默認就是text/html也就是普通的文本了。
常見語言的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一定是要封閉的>
例:
錯誤的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(這里還是用上面那個XML,子節(jié)點是student)
復(fù)制代碼 代碼如下:
$.ajax({
url:'ajax.asp',
type: 'GET',
dataType: 'xml',//這里可以不寫,但千萬別寫text或者html!!!
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"); //取對象
var id_value=$(this).children("id").text(); //取文本
alert(id_value);//這里就是ID的值了。
alert($(this).attr("email")); //這里能顯示student下的email屬性。
//最后么輸出了,這個是cssrain的寫法,貌似比macnie更JQ一點
$('<li></li>')
.html(id_value)
.appendTo('ol');
});
}
});
最后補充一條:保證服務(wù)器端是utf-8的編碼
相關(guān)文章
jQuery CheckBox全選、全不選實現(xiàn)代碼小結(jié)
jQuery CheckBox全選、全不選實現(xiàn)代碼小結(jié),對于操作jquery的朋友可以參考下。2010-04-04
JQuery textlimit 顯示用戶輸入的字符數(shù) 限制用戶輸入的字符數(shù)
顯示用戶輸入的字符數(shù) 限制用戶輸入的字符數(shù)的實現(xiàn)方法。2009-05-05
CKEditor無法驗證的解決方案(js驗證+jQuery Validate驗證)
這篇文章主要為大家詳細介紹了CKEditor無法驗證的解決方案和jQuery Validate驗證框架,感興趣的小伙伴們可以參考一下2016-05-05
Jquery跨域獲得Json時invalid label錯誤的解決辦法
這兩天用 Jquery 跨域取數(shù)據(jù)的時候,經(jīng)常碰到 invalid label 這個錯誤,十分的郁悶,老是取不到服務(wù)器端發(fā)送回來的 json 值,一般跨域用到的兩個方法為:$.ajax 和 $.getJson2011-01-01
jQuery探測位置的提示彈窗(toolTip box)詳細解析
提示彈窗(toolTip box)經(jīng)常會被用到,但是本文總要的不是彈,也不是窗,而是探測位置,在適當?shù)牡胤綇棿?。需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11

