我是JS的新手,并试图得到我的最后一个。在过去的7天里,fm toptracks
,限制为3,从他们的API:
http://ws.audioscrobbler.com/2.0/?method=user.gettoptracks&用户= thisisheroic&周期= 7 day&限制= 3,api_key = 3 cbc1a3aa903935d08223263bcc3ba0b&格式= json
下面是我的代码,但每当我将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>');
});
});
例子小提琴
另外,请注意文档声明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>');
});
});
和小提琴:
http://jsfiddle.net/k6g6v0rc/1/这只是一个语法错误
$.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/