Так я использую AJAX автозаполнения для моей базы данных с помощью jQuery-Autocomplete и это мой текущий код:JQuery автозаполнения и Угловое HTTP возвращает ошибки
HTML:
<input ng-keyup="searchCustomer()" id="customerAutocomplete" type="text">
Угловая
$scope.searchCustomer = function() {
$http.get('/api/customers') //this is a json return
.then(function (response) {
console.log(response.data); //FIRST OUTPUT
$('#customerAutocomplete').autocomplete({
lookup: response.data,
onSelect: function (suggestion) {
console.log(response);
}
});
}, function (error) {
console.log(error)
})
}
Выход на моей консоли всякий раз, когда я печатаю что-то такое:
Как вы можете видеть, он возвращает console.log, но есть ошибка и нет автозаполнения показа.
В части использования jQuery-Autocomplete есть часть, которую я пробовал, и она сработала.
var countries = [
{ value: 'Andorra', data: 'AD' },
{ value: 'Zimbabwe', data: 'ZZ' }
];
$('#autocomplete').autocomplete({
lookup: countries,
onSelect: function (suggestion) {
alert('You selected: ' + suggestion.value + ', ' + suggestion.data);
}
});
Но всякий раз, когда я изменяю переменную стран для своих данных из http-вызова, я все еще получаю ошибку.
Я проверил 85-й линии библиотеки
и это return suggestion.value.toLowerCase().indexOf(queryLowerCase) !== -1;
.
Так мое первое предположение является JSON.stringify
в response.data
, а затем я получаю это:
Так он не работает тоже. Любая помощь будет высоко ценится ..
Теперь я не могу прочитать свойство 'длина' неопределенных – FewFlyBy
в этой части предложения: $ .map (response.data, function (dataItem) – FewFlyBy
Я обновил свой ответ, так как я думаю, что функция 'searchCustomer' не нужна, поэтому сделайте другое изменение соответствующим образом. – ranakrunal9