我有一个简单的发帖请求
$('#searchTerm').on('input', function(){
var keyword = $(this).val()
if (keyword.length > 0){
$.ajax({
type: 'POST',
data: JSON.stringify({"keyword":keyword}),
contentType: 'application/json',
url: '/localsite/autocomplete',
error: function (err) {
console.log(err);
},
success: function(response) {
/*response is an array of keywords*/
autocomplete(document.getElementById("searchTerm"), response);
}
});
}
});
我正在使用的autocomplete
函数来自此example
而且工作正常。
现在,我想尝试使用typeahead和bloodhound来实现此功能。我尝试了我可以找到的大多数示例和解决方案,但仍然无法正常工作。 这是我的预先输入和猎犬代码
var queryInput = $('#searchTerm')
var keywords = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: "/localsite/autocomplete",
prepare: function (query, settings) {
settings.type = "POST";
settings.contentType = "application/json";
settings.data = JSON.stringify({"keyword":query});
return settings;
}
}
});
$('.typeahead').typeahead({
hint: true,
highlight: true,
minLength: 1
},
{
name: 'keywords',
source: keywords
});
我想念什么?为什么这么难?伙计们请帮忙!