正确用jQuery的AJAX加载XML并解析

本文介绍了使用AJAX处理XML数据时常见的问题及解决方法,包括设置正确的Content-Type、确保XML结构完整封闭以及如何通过jQuery解析和遍历XML节点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,Content-Type
很多时候无法解析就是Content-Type的问题。(呵呵,我第一次做ajax的时候,就遇到这个问题.)
一定要将其设置为text/xml,否则默认就是text/html也就是普通的文本了。
常见语言的Content-Type设置
ContractedBlock.gifExpandedBlockStart.gifCode
header("Content-Type:text/xml");    //php 
response.ContentType="text/xml"   //asp 
response.setHeader("ContentType","text/xml");  //jsp   (我上次这没写,结果返回 是一个 "" ) 

2,xml结构。
XML一定要封闭的,很重要! (这个我一般不会范,我还是算比较细心的.)
例:
错误的XML

ContractedBlock.gifExpandedBlockStart.gifCode
<?xml version="1.0" encoding="UTF-8"?> 
        
<name>zhangsan</name> 
        
<id>1</id> 
        
<name>lisi</name> 
        
<id>2</id> 


正确的

ContractedBlock.gifExpandedBlockStart.gifCode
<?xml version="1.0" encoding="UTF-8"?> 
<stulist> 
        
<student  mailto:1@1.com" target=_blank>1@1.com">   
                
<name>zhangsan</name> 
                
<id>1</id> 
        
</student> 
        
<student  mailto:2@2.com" target=_blank>2@2.com"> 
               
<name>lisi</name> 
                
<id>2</id> 
        
</student> 
</stulist> 


3,解析
遍历student(这里还是用上面那个XML,子节点是student)

ContractedBlock.gifExpandedBlockStart.gifCode
$.ajax({ 
    url:
'ajax.jsp'
    type: 
'GET'
    dataType: 
'xml'
    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();  //取文本 或者 $("id" , xml).text(); 
            alert(id_value);//这里就是ID的值了。 
            alert($(this).attr("email")); //这里能显示student下的email属性。 
            $('<li></li>').html(id_value).appendTo('ol'); 
        }); 
    } 
}); 


转载于:https://www.cnblogs.com/toddfsy/archive/2009/02/04/1383640.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值