2012-02-13 208 views
0

我剛從lastfm和json開始。我可以得到我想要在控制檯中返回對象值的信息,但我無法弄清楚爲什麼我總是得到「undefined」的值。這是我所有的代碼。謝謝!lastfm JSON對象返回「undefined」

<!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

@ZeeTee那應該不重要。 – alex 2012-02-13 04:50:10

回答

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>"); 
}); 
+0

感謝ironchefpython。你寫的是什麼工作,但我繼續前進。使用你寫的內容幫助我弄清楚如何在需要的情況下編寫我的代碼。我最後寫 $ .getJSON( 「http://ws.audioscrobbler.com/2.0/?method=artist.getInfo&artist=Bjork&api_key=0bd6c5780da878f5bb51393e84329809&format=json&callback=?」,功能(數據){ \t \t \t變種HTML = ''; \t \t \t。每$(數據,功能(I,項目){ \t \t \t HTML + = 「

」 + data.artist.name + 「

」; \t \t \t的console.log (data); \t \t \t}); \t \t \t $('#test')。append(html); \t \t \t}); – heyjohnmurray 2012-02-13 05:05:00

+0

您的'$ .each'在這種情況下是多餘的,因爲'data'只有一個屬性。 – ironchefpython 2012-02-13 05:09:15

+0

是的,這就是我意識到的。謝謝! – heyjohnmurray 2012-02-13 05:14:50

0

如果它只是你想擁有它的名字是在這種情況下很簡單:

$.each(data, function(i, item) { 
     html += "<p>" + item.name + "</p>"; 
     html += "<p>" + item.url + "</p>"; 
     console.log(data); 
    }); 
    $('#test').append(html); 

請爲我提供一個更復雜的情況下,所以我可以幫助你做到這一點。