没有来自jQuery ajax调用的响应

我今晚一直在努力解决这个问题,在搜索答案时我没有找到任何有用的东西。 这可能很简单。

我正在尝试使用Spotify Metadata API通过使用jQuery进行AJAX调用来加载数据。 在浏览器中运行此请求可以正常工作: 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-parameter加载,一切正常,所以我猜它与格式有关。

Spotify Metadata API的文档可能很有用,但我无法弄清楚我可能做错了什么。

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

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