[英]Spotify API - autocomplete search results are null
使用 Spotify API - 我想在我输入时使用 jQuery 自动完成一个包含艺术家的字段。 到目前为止,我正在使用以下内容:
HTML:
<input type="text" class="text-box" placeholder="Enter Artist" id="artist-input">
Javascript:
$(document).ready(function() {
$("#artist-input").autocomplete({
source: function(request, response) {
$.ajax({
type: "GET",
url: "https://api.spotify.com/v1/search",
dataType: "json",
data: {
type: "artist",
limit: 3,
contentType: "application/json; charset=utf-8",
format: "json",
q: request.term
},
success: function(data) {
response($.map(data.artists, function(item) {
return {
label: item.name,
value: item.name,
id: item.id
}
}));
}
});
},
minLength: 3,
select: function(event, ui) {
$("#artist-input").val(ui.item.value);
window.location.href = "#" + ui.item.value;
},
});
});
运行这个,结果:
functions.js:35 Uncaught TypeError: Cannot read property 'name' of null
所以我的问题是我是否需要在此过程运行之前进行某种身份验证? 我的思考过程是它正在拨打电话,但它返回为空,我错过了一个额外的步骤......
这是带有此示例的代码笔: http ://codepen.io/anon/pen/PGKLpj
您使用的数据的结构略有不同。 它是data.artists.items
而不是data.artists
。 如果您遍历正确的属性,它就可以正常工作。
看看这支笔: http : //codepen.io/anon/pen/qaXvob
注意:它有助于console.log(data);
有时查看 json 结构是否与您认为的匹配。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.