2010-09-09 53 views
0

我试图通过jquery .get()请求下载XML文件。不幸的是,返回的数据似乎是空的(0长度字符串),即使浏览器正确下载XML文件(请求返回通过萤火200 HTTP代码)Jquery获取xml文件

这里是我的代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"> 
<body> 
    Test sportevai<br/> 
<script type="text/javascript" src="http://risultati.sportevai.it/sportevai_widget.js"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 

     $.get('http://servername.com/xml/10225.xml', function(data) { 
      alert(data.length); 
     $('.xcf').html(data); 

     }); 

     }); 
</script> 
<div id="xcf">div response</div> 
</body> 
</html> 

回答

2

你可以不会从这样的远程域获取XML,您只能获取JSONP。 same-origin policy阻止它。发生的事情正是你正在经历的事情,除了响应将是空的,一切都会显得正常。

如果您必须使用XML,则必须通过您的域/站点代理请求或完全转到其他路由。如果您可以获取JSONP,则可以严格使用JavaScript。