我是 JS 的新手,我试图在过去 7 天内从他们的 API 获取我的 last.fm toptracks
,限制为 3:
下面是我的代码,它可以工作,但是每当我将 limit
更改为超过 1
时,它都会失败并且没有控制台错误。知道如何使用 .html
打印出这 3 个轨道名称的数组吗?
$.getJSON("http://ws.audioscrobbler.com/2.0/?method=user.gettoptracks&user=thisisheroic&period=7day&limit=1&api_key=3cbc1a3aa903935d08223263bcc3ba0b&format=json", function(result){
$.each(result, function(){
$('#lastfm_toptracks').html(result.toptracks.track.name);
});
});
最佳答案
首先,您需要修改代码以遍历返回的 result.toptracks.track
数组。其次,您需要将 html()
更改为 append()
,否则每次迭代都会覆盖元素的文本,并且只会看到最终轨道。试试这个:
$.getJSON("http://ws.audioscrobbler.com/2.0/?method=user.gettoptracks&user=thisisheroic&period=7day&limit=3&api_key=3cbc1a3aa903935d08223263bcc3ba0b&format=json", function(result){
$.each(result.toptracks.track, function(i, track){
$('#lastfm_toptracks').append('<p>' + track.name + '</p>');
});
});
另外,请注意 documentation指出 limit
的默认设置是每个请求 50。
关于javascript - 如何使用 getJSON 循环访问 last.fm 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31511036/