繁体   English   中英

Spotify API - 自动完成搜索结果为空

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM