jquery - 从对 Last.FM API 的请求返回的文件中出现错误

标签 jquery json api last.fm

我将 Last.fm API 与 jquery 结合使用,如下所示:

$.getJSON('http://ws.audioscrobbler.com/2.0/?JSONCallback=?', {
    method: "user.getweeklytrackchart",
    user: "rj", 
    api_key: "fb04ae401284be24afba0fbc2f4b0efb"
}, function(data) {
    // console.debug (data)
});

我在 Firebug 中收到以下错误:

missing ; before statement
[Break on this error] <lfm status="ok">\n

单击错误会将我带到从请求返回的文件。错误发生在第 2 行(实际上有更多的轨道对象,但我只包含一个长度):

<?xml version="1.0" encoding="utf-8"?>
<lfm status="ok">
    <weeklytrackchart user="RJ" from="1278244800" to="1278849600">
        <track rank="1">
            <artist mbid="309c62ba-7a22-4277-9f67-4a162526d18a">Beck</artist>
            <name>Mixed Bizzness</name>
            <mbid></mbid>
            <playcount>2</playcount>
            <image size="small">http://userserve-ak.last.fm/serve/34/442288.jpg</image>
            <image size="medium">http://userserve-ak.last.fm/serve/64/442288.jpg</image>
            <image size="large">http://userserve-ak.last.fm/serve/126/442288.jpg</image>
            <url>www.last.fm/music/Beck/_/Mixed+Bizzness</url>
        </track>
    </weeklytrackchart>
</lfm>

所以错误出现在返回的文件中,我该如何处理?感谢您的阅读。

最佳答案

这里有一些问题。

首先,我认为请求网址末尾的 JSONCallback=? 参数应该是 callback=?。尽管令人困惑的是jQuery docs在示例代码中显示您的方式,但不在正文文本中...

另一件事是,您正在使用 getJSON 方法,而 Last.fm API 返回 XML,因此 jQuery 尝试将返回的 XML 解析为 JSON,这显然不能做。

因此,您需要指定您希望返回 JSON 作为响应 - 这似乎可行:

$.getJSON('http://ws.audioscrobbler.com/2.0/?callback=?', {
    method: "user.getweeklytrackchart",
    user: "rj",
    api_key: "fb04ae401284be24afba0fbc2f4b0efb",
    format: "json"
}, function(data) {
    console.log(data);
});

您将能够在 Firebug 控制台中看到返回的 JSON 对象,并检查它以了解您要使用哪些数据。希望这有帮助!

关于jquery - 从对 Last.FM API 的请求返回的文件中出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3264606/

相关文章:

javascript - 从 json 创建一个列表返回 [object Object] 并且只返回最后一个 li

java - 如何使用 VersionOne JAVA SDK 中的 'WHERE'

javascript - jQuery 当缩放改变 css 函数

c# - 使用 Automapper 从动态/JObject 映射到任意类型而不创建多个映射

javascript - Google map API InfoWindows

angular - 在生产构建 Angular 4 中访问环境变量

javascript - 没有 'Access-Control-Allow-Origin' header ,但无法访问 API

javascript - knockout validation 组错误检查

javascript - 使用 jQuery 替换元素

jquery - 通过 AJAX 发送带有 HTML 评论的发布请求问题