我是新来的JS,并试图让我的last.fm toptracks
过去7天,从他们的API在这里的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%的要求。
下面的代码:
$.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(key, val){
console.log(val.name);
$('#lastfm_toptracks').append('<div>'+ val.name + '</div>');
});
});
和提琴:
这仅仅是一个语法错误
$.getJSON("http://ws.audioscrobbler.com/2.0/?method=user.gettoptracks&user=thisisheroic&period=7day&limit=3&api_key=3cbc1a3aa903935d08223263bcc3ba0b&format=json", function(results){
console.log(results);
$.each(results.toptracks.track, function(index,value){
//$('#lastfm_toptracks').html(result.toptracks.track.name);
alert(value.name);
});
});
应该是工作。
该链接是一个工作演示。
http://jsfiddle.net/nnyf0n28/7/
请浏览更多关于这个链接:: http://api.jquery.com/jquery.each/