jQuery ajax 调用没有响应

发布于 2024-09-08 04:08:40 字数 818 浏览 2 评论 0原文

今晚我已经为此苦苦挣扎太久了,在寻找答案时我没有找到任何有用的东西。这可能很简单。

我正在尝试使用 Spotify 元数据 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 参数加载,那​​么一切都会正常工作,所以我猜它有一些事情要做与格式。

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

I've been struggling with this for way too long tonight, and I haven't found anything useful when searching for answers. It's probably very simple.

I'm trying to load data using the Spotify Metadata API by doing AJAX calls with jQuery.
Running this request in a browser works just fine:
http://ws.spotify.com/search/1/track?q=foo
But when I try to load the same request using jQuery I get nothing in response. I've tried different contentTypes and dataTypes, but I can't figure out what's wrong!

The code is quite simple:

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

If I save the XML returned when running the query in the browser, and loading that file as the url-parameter in the $.ajax-request, everything works just fine, so I guess it has something to do with the format.

The documentation for the Spotify Metadata API might be useful, but I can't figure out what I could be doing wrong.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

够钟 2024-09-15 04:08:40

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

You cannot make a cross domain ajax call (in most browsers). Since the spotify api end point does not yet support jsonp then you will have to make a server side proxy which will feed the xml back to your page.

爱的十字路口 2024-09-15 04:08:40

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

I think you're running into limitations in XMLHTTPRequest that prevent XSS requests. More documentation available here: http://www.simple-talk.com/dotnet/asp.net/calling-cross-domain-web-services-in-ajax/. There are a number of work arounds listed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文