【问题标题】:iTunes search API undefined first resultiTunes 搜索 API 未定义的第一个结果
【发布时间】:2012-06-11 19:19:18
【问题描述】:

嗨,我在 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上看到过类似的帖子,但没有找到解决方案。

任何帮助将不胜感激。

【问题讨论】:

  • 您可以将代码添加到您的问题中吗?它使我们免于跳跃。

标签: json api itunes


【解决方案1】:

这是因为第一个返回的元素始终是父元素,在本例中是艺术家。

如果您要求:

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

你会得到(正如你在 wrapperType 中看到的那样):

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

很遗憾,您的代码目前暂时离线,我无法检查我的直觉是否正确。

【讨论】:

  • 对了。我知道了。它实际上适用于只有一首曲目但我仍然无法正常运行的艺术家。当 jsfiddle 恢复时,你介意再看一遍吗?非常感谢。 jsfiddle.net/tris_wood/u2sYe/2
  • 正如您从 jsfiddle 中通过打印 data.results 看到的那样,第一个结果是艺术家。您可以使用 data.results.shift() 轻松剥离。 jsfiddle.net/sWVY8
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-03
  • 2014-04-10
相关资源
最近更新 更多