通过Typeahead.js提供建议
Providing suggestions via Typeahead.js
我有一个使用Bootstrap,jQuery,Typeahead.js和Azure Search的应用程序。我正在尝试使用建议功能。为了做到这一点,我有以下几点:
var engine = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: 'https://my-app.search.windows.net/indexes/my-index/docs/suggest?api-version=2015-02-28',
prepare: function (settings) {
settings.type = 'POST';
settings.contentType = 'application/json; charset=UTF-8';
settings.data = { search: query, suggesterName: 'mySuggestions', top: 10 };
return settings;
}
}
});
$('#searchField').typeahead([{
minLength: 5,
name: 'suggestions',
source: engine
}]);
当我在搜索字段中输入文本时,我从未看到向 Fiddler 中的 Azure 搜索服务触发的请求。同时,我在控制台窗口中没有看到任何错误。我做错了什么?
有几件事对我来说似乎不对劲。首先是这个:
$('#searchField').typeahead([{
minLength: 5,
name: 'suggestions',
source: engine
}]);
可能需要更像这样:
$('.typeahead').typeahead(null,{
minLength: 5,
source: engine
});
此外,引擎函数中的准备需要包含"查询"参数。
var engine = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: 'https://my-app.search.windows.net/indexes/my-index/docs/suggest?api-version=2015-02-28',
prepare: function (query,settings) {
settings.type = 'POST';
settings.contentType = 'application/json; charset=UTF-8';
settings.data = { search: query, suggesterName: 'mySuggestions', top: 10 };
return settings;
}
}
});
你可以在这里看到一个工作的小提琴。
相关文章:
- Typeahead.js未显示异步结果
- jquery.proxy in the bootstrap-typeahead.js context
- 如何扩展bootstrap-typeahead.js这样的库
- 如何将typeahead.js(Bloodhound)添加到jQuery动态创建的字段中
- 通过Typeahead.js提供建议
- 如何让Typeahead.js使用对象的一个字段而不是全部字段自动完成或选择
- TypeAhead.js没有显示任何输出Rails
- 停止jQuery表单验证重置由其他JavaScript填充的typeahead.js输入字段
- 如何禁用typeahead:在远程typeahead.js中聚焦已填充的文本字段时处于活动状态
- Typeahead.js未显示预取数据的自定义模板
- 通过data URL参数将URL传递给typeahead.js
- 如何将typeahead.js与nested_form gem一起使用
- 使用Typeahead.js/Bloodhound.js在远程和本地源之间切换
- 阻止typeahead.js下拉列表在选择时关闭
- Typeahead.js-特殊字符返回为“”&#230"等
- Typeahead.js远程工作,但预取不工作't
- 从输入框中删除 TypeAhead.js 事件
- 为什么typeahead-js不在Meteor上运行,而是在本地工作
- Twitter Typeahead.js库是否仅限于6个数据集
- 如何为Facebook好友搜索实现Typeahead JS