1

jQueryを使用してlast.fmデータを自分のWebサイトに表示しています。この場合、以下のコードを使用して、last.fmプロファイルに最後の曲を表示しようとしています。

$.getJSON('http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=joaoramos&api_key=a72cc897d849cfbff9a677871699e3f2&limit=1&format=json&callback=?', function(data) {

    track = data.recenttracks.track[0];

    var artist  = track.artist['#text'],
        song    = track.name,
        url     = track.url,
        src     = track.image[3]['#text'];

    if (src == '' || src == null || src == 'undefined') {
        var src = 'http://joao.pt/wp-content/themes/joaoramos/img/music.jpg';
    }

    $('#lastfm a').attr('href', url);
    $('#lastfm a').attr('title', 'Last song scrobbed on Last.fm: <em>'+song+'</em> by '+artist);
    $('#lastfm a img').attr('alt', song+' by '+artist);
    $('#lastfm a img').attr('src', src);

});

私はおそらくJSONオブジェクトで正しいパスを使用していません(Uncaught TypeError: Cannot read property 'artist' of undefinedコンソールエラーが発生することがありますが、常にではありません)。ほとんどの場合、私のWebサイトの3つの円の3番目(最初の円)には何も表示されないためです。 Dribbbleの最後のショット、Flickrの2番目の最後のショット、last.fmの最後の曲)。助言がありますか?

4

1 に答える 1

1

を取得しているので、正しい設定で使用する必要はありjsonpません。これを試して:json$.ajaxdataType

$.ajax({
    url: 'http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=[USERNAME]&api_key=[APIKEY]&limit=1&format=json&callback=?', 
    dataType: 'jsonp',
    success: function(data) {
        // your current code here...    
    });
});
于 2012-12-03T09:51:45.790 に答える