0

假设我有一个XML这样的:http ://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key=b25b959554ed76058ac220b7b2e0a026&track=Just%20for%20Me&artist=Hinoi%20Team

我正在尝试获取nameoftrack并且它不起作用:我这样做:

$.ajax({
        type: "GET",
        url: "http://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key=b25b959554ed76058ac220b7b2e0a026&track="+yourTrack+"&artist="+yourArtist,
        dataType: "xml",
        success: function(xml) {
          $(".loading").css("display", "none");
            $(xml).find('track').each(function(){
                var id = $(this).find('id').text();
                console.log("Success!");

                var song = $(this).find('track > name').text();
                var name = $(this).find('artist name').text();
                var album = $(this).find('album title').text();

                $("#more").append("\nSong: " + song);
                $("#more").append("\nArtist: " + name);
                $("#more").append("\nAlbum: " + album);

                $("#more").append("\n\nlast.fm ID: " + id);

            });
        }
    });

结果是这样的:

Song: 
Artist: Hinoi Team
Album: Super Euro Party

last.fm ID: 43135480

帮助?

4

1 回答 1

1

此行中的选择器不正确:

var song = $(this).find('track > name').text();

$(this)是一个<track>元素。您正在其中寻找另一个<track>元素,这不是您所需要的。您正在寻找<name>,因此请改用它:

var song = $('> name', this).text();
于 2012-06-08T23:04:12.973 回答