我遇到的问题是当我开始输入时,建议显示但只是按字母顺序排列并且不会更新。它似乎不根据我的输入过滤结果。据我所知,我正确地获取数据。 json的回应来自The Echo Nest here。我之后的信息是我得到的json回复的类型名称。
var search = new Bloodhound({
datumTokenizer: function(data) { return Bloodhound.tokenizers.whitespace(data.name); },
queryTokenizer: Bloodhound.tokenizers.whitespace,
limit: 3,
remote: {
url:'http://developer.echonest.com/api/v4/artist/list_genres?api_key= JSSXGZIEPOLRS21K7&format=json',
filter: function(search) {
return $.map(search.response.genres, function(data) { return { name: data.name }; });
}
}
});
search.initialize();
$('.typeahead').typeahead(null, {
name: 'genres',
displayKey: 'name',
source: search.ttAdapter()
});
答案 0 :(得分:1)
我会在这里回答我自己的问题。所以事实证明我使用的是错误的查询。应该是
http//developer.echonest.com/api/v4/genre/search?api_key=JSSXGZIEPOLRS21K7&format=json&results=10&name=%QUERY
%QUERY是什么,我猜测了typeahead.js用来搜索的文本输入字段。 使用原始查询:
http://developer.echonest.com/api/v4/artist/list_genres?api_key= JSSXGZIEPOLRS21K7&format=json
没有添加%QUERY的位置,因为它只返回了一个列表,并且该列表无法通过上述查询进行搜索。