如何通过使用的getJSON last.fm结果循环

问题描述 投票:1回答:3

我是新来的JS,并试图让我的last.fm toptracks过去7天,从他们的API在这里的3限制:

http://ws.audioscrobbler.com/2.0/?method=user.gettoptracks&user=thisisheroic&period=7day&limit=3&api_key=3cbc1a3aa903935d08223263bcc3ba0b&format=json

这里是我的代码,低于该作品,但每当我改变limit1多,失败没有控制台错误。任何想法,我该如何使用.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);
    });
});
javascript jquery arrays each last.fm
3个回答
2
投票

首先,你需要返回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>');
    });
});

Example fiddle

另外,还要注意的是,documentation规定,对于limit的默认设置为50%的要求。


0
投票

下面的代码:

$.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>');
    });
});

和提琴:

http://jsfiddle.net/k6g6v0rc/1/


0
投票

这仅仅是一个语法错误

$.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/

© www.soinside.com 2019 - 2024. All rights reserved.