2012-06-07 81 views
1

嗨我很長一段時間與iTunes的專輯列表掙扎。iTunes搜索API未定義的第一個結果

我的問題是縮略圖和專輯標題在第一個<li></li>總是回來未定義。

該代碼是基於iTunes的藝術家搜索,它按預期工作,但我的專輯列表版本總是給這個故障。

$(document).ready(function(){ 
    var searchTerm = '909253'; 
    $.getJSON("http://itunes.apple.com/lookup?id=" + searchTerm + '&limit=30' + '&entity=album' + '&callback=?', function(data) { 
    $.each(data.results, function() { 
     $('<li></li>') 
     .hide() 
     .append('<img src="' + this.artworkUrl60 + '" />') 
     .append('<span><a href="http://itunes.apple.com/search?term=' 
      + this.artistName + '">' + 'Artist: ' + this.artistName 
      + '</a> ' + '<br />Album Title: ' + this.collectionName + '</span>') 
     .appendTo('#results') 
     .fadeIn(); 
    });   
    $("#results").listview("refresh"); 
    }); 
});  

http://jsfiddle.net/tris_wood/u2sYe/2/

我見過類似的帖子這個問題問心無愧iTunes的API,但沒有解決辦法,我能找到。

任何幫助將不勝感激。

+0

你可以將你的代碼添加到你的問題嗎?它可以幫助我們避免跳躍。 – 2012-06-08 08:23:06

回答

1

這是因爲第一個返回的元素總是父元素,在這種情況下是藝術家。

如果您要求:

http://itunes.apple.com/lookup?id=909253&entity=album 

你會得到(你可以在wrapperType見):

0) Artist information 
1) First album 
2) Second album 

不幸的是你的代碼是目前暫時離線,我不能檢查,如果我的直覺是正確的。

+0

啊對了。我懂了。它實際上適用於只有一首曲目的藝術家,但我仍然無法正常運行。 當jsfiddle備份時,你會介意再看一遍嗎?非常感謝。 http://jsfiddle.net/tris_wood/u2sYe/2/ – Kastansa

+1

正如您從jsfiddle中通過打印'data.results'所看到的,第一個結果是藝術家。你可以用data.results.shift()去掉它。 http://jsfiddle.net/sWVY8/ – framp