在过去的 12 个月里,我一直在使用 Last.fm API 和 JSON,并且一直在尝试按月检索用户的顶级艺术家。我尝试设置一个 for 循环来遍历每个月,然后提取与该月对应的相关 JSON 数据,但据我所知,for 循环的运行速度似乎比 JSON 调用快得多。
我正在使用 Felix Bruns 的 last.fm javascript API https://github.com/fxb/javascript-last.fm-api
我检查了控制台,没有记录除 12 之外的月份值。我还收到未捕获的引用错误“json##.... 未定义”
我尝试四处寻找解决方案,但我所有的搜索结果都是如何循环访问 API 调用的结果,而我正在寻找如何编写一个检索多个 JSON 对象的循环。
<script type="text/javascript">
var apiKey = "b0da1774db3d010f62b11f67c4de0667";
var secret = "0baa4b10c807acc847128599680679a7";
var lastfm = new LastFM({
apiKey : apiKey,
secret : secret,
cache : undefined
});
var lastfm_2 = new LastFM({
apiKey : apiKey,
secret : secret,
cache : undefined
});
$(document).ready(function() {
$("#submit").click(function() {
var username = $("#username").val();
var text = "";
if (username) {
$("#title").html("Your Most Played Artist by Month");
$("#title").css("color", "#222");
// Get top artists for each month
var topArtistsByMonth = new Array();
for (var month = 0; month < 12; month++) {
lastfm.user.getTopArtists({user: username, period: "1month", limit: 15, page: month + 1}, {success: function(data) {
topArtistsByMonth.push(data.topartists);
console.log("Month " + month + ": " + data.topartists);
}});
}
} else {
alert("No username");
}
});
});
</script>
任何帮助将不胜感激,谢谢!