1

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

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

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

4

1 回答 1

1

您正在encodeURIComponent使用完整的 URL 而不是单独的查询参数执行,从而导致类似https%3A%2F%2Fws.audioscrobbler.com%2F2.0%2F%3Fmethod%3Dartist.getsimilar%26artist%3DKiss...这显然不是有效的 URL。有关示例,请参见此处

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

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

PPS:您的身份验证请求将不起作用,因为您需要在帖子正文中提交参数而不是查询字符串,请参阅此论坛帖子以获取更多信息。

于 2013-07-01T15:23:38.147 回答