2011-03-13 35 views
1

脚本通过jquery.ajax获取XML数据

$.ajax({ 
    type: "post", 
    url: "Default.aspx?cmd=Setting", 
    success: parseXml 
    }); 

function parseXml(xml) 
{ 
    alert(xml);//show Full XML File 
    //find every Tutorial and print the author 
    $(xml).find("Tutorial").each(function() 
    { 
    $("#a").append($(this).attr("author") + "<br />"); 
    }); 
} 

HTML

<div id="a"></div> 

代码

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (Request["cmd"] == "Setting") 
    { 
     string [email protected]"<?xml version='1.0' encoding='utf-8' ?> 
     <RecentTutorials> 
     <Tutorial author='The Reddest'> 
     <Title>Silverlight and the Netflix API</Title> 
     <Categories> 
       <Category>Tutorials</Category> 
       <Category>Silverlight 2.0</Category> 
       <Category>Silverlight</Category> 
       <Category>C#</Category> 
       <Category>XAML</Category> 
     </Categories> 
     <Date>1/13/2009</Date> 
     </Tutorial> 
     </RecentTutorials>"; 

      Response.Write(k); 
      Response.End(); 
    } 
} 

我是一个初学者。

这不起作用。

while alert(xml)show xml File。

+0

请定义“不工作”。 –

+0

您是否尝试过'alert(xml);''parseXml'内部 –

+0

show xml但不会附加到div – beginner

回答

0

尝试迫使数据类型为XML:dataType: 'xml'

+1

因此,您应该另外使用'Response.ContentType =“text/xml; charset = utf-8”;'在服务器代码中 – Oleg

1

才能有jQuery的自动解析XML设置你的服务器上的适当内容类型:

Response.ContentType = "text/xml"; 
Response.Write(k); 
Response.End(); 

此外,您可以设置dataType: 'xml'但是这不是必要的如果您的服务器已正确配置为发送正确的内容类型。

这是live demo