0

今晚我一直在努力解决这个问题太久了,在寻找答案时我没有发现任何有用的东西。这可能很简单。

我正在尝试通过使用 jQuery 进行 AJAX 调用来使用 Spotify 元数据 API 加载数据。在浏览器中运行这个请求工作得很好: http ://ws.spotify.com/search/1/track?q=foo 但是当我尝试使用 jQuery 加载相同的请求时,我没有得到任何响应。我尝试了不同的 contentTypes 和 dataTypes,但我不知道出了什么问题!

代码很简单:

$.ajax({ 
    url: "http://ws.spotify.com/search/1/track",
    data: "q=foo",
    success: function(xml){
        // do stuff...
    },
    contentType: "application/xml",
    dataType: "xml"
});

如果我保存在浏览器中运行查询时返回的 XML,并将该文件加载为 $.ajax-request 中的 url 参数,那么一切正常,所以我猜它与格式有关。

Spotify 元数据 API 的文档可能很有用,但我不知道我做错了什么。

4

2 回答 2

4

您不能进行跨域 ajax 调用(在大多数浏览器中)。由于 spotify api 端点尚不支持jsonp,因此您必须创建一个服务器端代理,它将 xml 反馈回您的页面。

于 2010-07-04T23:26:17.233 回答
0

我认为您在 XMLHTTPRequest 中遇到了阻止 XSS 请求的限制。此处提供更多文档: http ://www.simple-talk.com/dotnet/asp.net/calling-cross-domain-web-services-in-ajax/ 。列出了许多解决方法。

于 2010-07-04T23:27:01.410 回答