我刚开始使用lastfm和json。我可以获取我想在控制台中返回对象值的信息,但我无法弄清楚为什么我一直得到“未定义”的值。这是我的所有代码。谢谢!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>
<head>
<title>JSON LastFM API Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$.getJSON("http://ws.audioscrobbler.com/2.0/?method=artist.getInfo&artist=Bjork&api_key=690e1ed3bc00bc91804cd8f7fe5ed6d4&format=json&callback=?", function(data) {
var html = '';
$.each(data.artist, function(i, item) {
html += "<p>" + item.name + "</p>";
console.log(data);
});
$('#test').append(html);
});
</script>
<div id="test"></div>
</body>
答案 0 :(得分:1)
看来返回的JSON不是数组。
也许你可以试试
$.getJSON("http://ws.audioscrobbler.com/2.0/?method=artist.getInfo&artist=Bjork&api_key="+ apikey+"&format=json&callback=?", function(data) {
$('#test').append("<p>" + data.artist.name + "</p>");
});
答案 1 :(得分:0)
如果它只是你想拥有的名字,在这种情况下非常简单:
$.each(data, function(i, item) {
html += "<p>" + item.name + "</p>";
html += "<p>" + item.url + "</p>";
console.log(data);
});
$('#test').append(html);
请给我一个更复杂的背景,所以我可以帮助你。