Javascript 显示来自JSON的图像
尝试用结果显示封面艺术。img src标记中的某些内容导致应用程序无法加载。如果我只是将img指向data.tracks[I].album.name(显然不是一个真正的url,但足以测试它是否工作),它会很好地粘贴它,但当我将其更改为粘贴url时,整个应用程序就会停止工作Javascript 显示来自JSON的图像,javascript,ajax,json,Javascript,Ajax,Json,尝试用结果显示封面艺术。img src标记中的某些内容导致应用程序无法加载。如果我只是将img指向data.tracks[I].album.name(显然不是一个真正的url,但足以测试它是否工作),它会很好地粘贴它,但当我将其更改为粘贴url时,整个应用程序就会停止工作 $('#findTracks').click(function (e) { e.preventDefault(); // override/don't submit form
$('#findTracks').click(function (e) {
e.preventDefault(); // override/don't submit form
$('#recommendations').empty();
var artist = $('#artist').val();
var userid = "";
var playlistid = "";
$.ajax({
url: 'http://ws.spotify.com/search/1/track.json?q=' + artist,
type: 'GET',
dataType: 'json',
success: function(data) {
if (data.tracks.length > 0) {
var tracksLength = data.tracks.length, html = '';
for (var i=0; i<tracksLength; i++) {
var href = '';
if (data.tracks[i].album.availability.territories.indexOf(' GB ') !== -1) { // data.tracks[i].href
href = data.tracks[i].href;
href = 'makeReq(\''+data.tracks[i].name + ' by '+data.tracks[i].artists[0].name+'\')';
html += '<li><a href="#" onclick="' + href + '">' +data.tracks[i].name + ' by '+data.tracks[i].artists[0].name+ ' <img src="' +data.tracks[i].album.images[0].url+ '" /></a>';html += '</li>';
html += '</li>';
}
}
$('#third').css('display', 'block');
$('#recommendations').append(html);
} else {
$('#recommendations').append('<li>No matches returned.</li>');
$('#third').css('display', 'none');
}
},
error: function(err) {
alert("The Spotify API failed to return a response.");
}
});
});
$('findTracks')。单击(函数(e){
e、 preventDefault();//重写/不提交表单
$(“#建议”).empty();
var artist=$('#artist').val();
var userid=“”;
var playlid=“”;
$.ajax({
网址:'http://ws.spotify.com/search/1/track.json?q="艺术家,,
键入:“GET”,
数据类型:“json”,
成功:功能(数据){
如果(data.tracks.length>0){
var tracksLength=data.tracks.length,html='';
对于(var i=0;i如果您在控制台中查看,就会得到错误
Uncaught TypeError: Cannot read property '0' of undefined
查看查询返回的数据,我们注意到data.tracks[i].album返回
{
"released": "2006",
"href": "spotify:album:2knAf4wg8Gff8q1bXiXCTz",
"name": "The Dutchess",
"availability": {
"territories": "MX"
}
}
没有属性图像
,因此当您调用
data.tracks[i].album.images[0]
您得到未定义的错误,导致脚本停止执行。
我不熟悉spootify api,但快速浏览一下api,这是它的最终目的。以下是我获得专辑艺术的方法
$.get(“http://ws.spotify.com/search/1/track.json?q=Fergie,函数(数据){
var albumId=data.tracks[97].album.href.split(“:”[2];
$.get(”https://api.spotify.com/v1/albums/“+albumId,函数(albumResponse){
var firstImage=albumResponse.images[0];
$('body')。追加($('body')
你在看html吗?img src怎么说?这很奇怪,它应该得到图片@TimothyRichardElliot我已经添加了一个关于你链接的api的编辑,下一个问题是如何让它发送到我的电子邮件…我最初创建了一个脚本,将所请求的歌曲直接发送到“请求”我的spotify帐户上的播放列表,但后来我意识到这需要oauth…现在我正试图通过php将其传递到我的电子邮件中