Я использую typeahead.js 0.10.5 в своем веб-приложении. По какой-то странной причине получение предложений в реальном времени через удаленную работу работает, а предварительная выборка не работает. Здесь происходит что-то неочевидное и странное. Согласно консоли разработчика и сетевому монитору Chrome, он даже не выполняет запрос при загрузке страницы. Конечно, он делает запрос, когда я начинаю печатать.
Это действительно меня в тупик - что я делаю неправильно здесь?
// Instantiate the Bloodhound suggestion engine
var tags = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: '/tags/tags/search.json?q=%QUERY',
filter: function (taglist) {
// Map the remote source JSON array to a JavaScript object array
return $.map(taglist, function (tag) {
console.log(tag);
return {
value: tag.tag
};
});
}
},
prefetch: {
url: '/tags/tags/search.json?q=',
filter: function (taglist) {
// Map the remote source JSON array to a JavaScript object array
return $.map(taglist, function (tag) {
console.log(tag);
return {
value: tag.tag
};
});
},
}
});
// Initialize the Bloodhound suggestion engine
tags.initialize();
// Instantiate the Typeahead UI
$('#search-tags').typeahead(null, {
displayKey: 'value',
source: tags.ttAdapter(),
hint: true,
highlight: true
});