Код не работает для некоторых запросов. Удаленная конечная точка действительно возвращает правильные результаты, но проблема заключается в механизме подсказок.
Мой Json результат от удаленного APi выглядит как
[{"Код": "179.799.1", "Description": "Это тестовый desc1"},
{"Код": "179.799.2", "Описание": "Это тестовый desc2"},
{"Код ":" 179.799.3 "," Description ":" Это тестовый desc3 "}]
Запросы, которые работают :
- " 179 ": возвращает все 3 записи
- "179". : возвращает все 3 записи
- "179.79": возвращает все 3 записи
- "179.799.1": возвращает 1 запись
Запросы, которые не ' t работа :
- "179,799": результатов не найдено
- "179,799." : Ничего не найдено
API возвращает одинаковый результат для всех вышеуказанных запросов. В чем может быть проблема? Я пытался с Bloodhound.tokenizers.obj.nonword ('Код'), но не работал
var items = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('Code'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: '@Url.Content("~/")' + 'Home',
wildcard: '%QUERY%',
replace: function (url, uriEncodedQuery) {
//Get the data
},
cache: false
}
});
items.initialize();
$('#Items').typeahead({
minLength: 3,
displayKey: 'Code',
highlight: true,
hint: true
}, {
name: 'Items',
source: items.ttAdapter(),
displayKey: function (item) {
return item.Code + ' - ' + item.Description;
},
templates: {
suggestion: function (item) {
return '<div>' + item.Code + ' - ' + item.Description + '</div>';
},
empty: 'No results found',
pending:
function (query) {
return '<div>Loading...</div>';
}
},
limit: 10
})