2010-04-22 89 views
1

我菜鸟,当谈到Ajax和jQuery和需要一些帮助......阿贾克斯/ jQuery的问题

以下URL生成一个XML文件,我想我的网页上使用: http://ws.spotify.com/search/1/track?q=foo

当我使用萤火虫似乎没有回来。我做错了什么?

这是我的代码如下所示:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head>  
     <title></title> 
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script> 
     <script type="text/javascript"> 
     $(document).ready(function(){ 
      $.ajax({ 
       url: 'http://ws.spotify.com/search/1/track?q=foo', 
       type: 'GET', 
       contentType: "application/xml; charset=utf-8", 
       error: function(){ 
        alert('Error loading XML document'); 
       }, 
       success: function(xml){ 
        alert("success"); 
        $(xml).appendTo("#result");     
       } 
      }); 
     }); 
     </script> 
    </head> 
    <body> 
     <div id="result"> 
     </div>  
    </body> 
</html> 
+3

是在同一个域中的XML文件作为你从它调用它的脚本? – munch 2010-04-22 19:15:59

+0

当你说**没有回来**时,我假设你的意思是你的“成功”回调被调用,但没有数据。是对的吗? – user113716 2010-04-22 19:45:15

+0

纯XML回复将不会显示在浏览器中。 – dacracot 2010-04-22 19:52:27

回答

2

是您的网页,在JS也从ws.spotify.com运行?否则,您将遇到浏览器的限制,通过使用same origin policy来防止cross-site scripting。你可以使用jsonp类型的数据来解决这个问题。 Ajaxian在workaround上提供了一个您可以使用的帖子。它不使用jQuery,但它可能有帮助。

0

我可以建议你也使用的是HttpFox看看什么是你的脚本,并在服务器之间发生

1

看来你的成功的功能可能是一个小关:

success: function(data) { 
    alert("success"); 
    $('#result').html(data); 
    }