javascript - 使用 Last.fm API 时 XMLHttpRequest 给出无效状态

标签 javascript api xmlhttprequest last.fm

我正在尝试将 scrobble 支持集成到 Ubuntu Touch 的音乐应用程序中,但我遇到了一些困难,因为我似乎无法让 session key 工作。

在 request() 中,我在第 53 行收到“错误:无效状态”。看起来 last.fms API 没有正确回答,也没有正确的状态,但我是 XMLHttpRequest 的新手,所以我不确定怎么了。

代码:http://pastebin.com/Aa6DVUA1

最佳答案

您正在使用完整的 URL 而不是单个查询参数执行 encodeURIComponent,因此会产生类似 https%3A%2F%2Fws.audioscrobbler.com%2F2.0% 的结果2F%3Fmethod%3Dartist.getsimilar%26artist%3DKiss... 这显然不是有效的 URL。有关示例,请参阅 here .

其次,您对 XMLHttpRequest 的使用是错误的,XHR 异步操作,但您从未为您的请求定义回调函数。调用 send() 后立即查询 xhr.readyStatexhr.status 将在请求实际完成之前执行。请参阅here了解如何使用 XHR。

PS:为什么不使用现有的 JavaScript API 包装器之一,即 http://lastfm.felixbruns.de/javascript-last.fm-api/或者至少用 jQuery 来处理 XHR?

PPS:您的身份验证请求将不起作用,因为您需要提交帖子正文中的参数而不是查询字符串,请参阅 this forum post了解更多信息。

关于javascript - 使用 Last.fm API 时 XMLHttpRequest 给出无效状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17405052/

相关文章:

javascript - React/Redux 组件不会渲染

python - Rest 框架中的 HTML 输入目前不支持列表

javascript - 在 HTML 页面中使用 JavaScript 读取/查询 Google 电子表格

xml - 如何向 Facebook 提交错误报告?

angularjs - XMLHttpRequest 无法加载 .... 预检响应具有无效的 HTTP 状态代码 401

javascript - 如何在jsp中访问动态创建的文本框

JavaScript - 使用 px 获取元素高度值

javascript - PHP 在 JS 中无法正常工作确认() bool 值

c# - 如何使用 mvc 4 向我的 api 添加 token ?

javascript - 为什么 CORS 在不同的内容类型下给出不同的响应