Могу ли я использовать ответ jquery ajax для автозаполнения
Сейчас 3 часа ночи. Я часами бился головой об стену и просто не понял.
Я пытаюсь использовать автозаполнение jQuery с исходными данными из запроса ajax. Кажется, что Ajax работает отлично, но я не могу использовать ответ для исходных данных. Анонимная функция извлекает данные о готовности. Успешные вызовы test(response) с передачей данных в функцию с автозаполнением. Ответ выглядит точно так же, как пример кода. И когда я вставляю свой ответ из консоли, он работает отлично. Но это не позволит мне использовать переменную "альбомы" для источника.
$(function(){
$.ajax({
dataType: 'text',
type: 'POST',
url: '/albums/fetch_albums',
success: function(response){
console.log(response); // logs ["Italy","Hawaii"] -as expected
test(response);
}
});
});
function test(data){
var albums = data;
console.log(albums); // logs ["Italy","Hawaii"] - as expected
console.log(typeof albums); //logs string - as expected
$('#autocomplete').autocomplete({
source: albums, //this is what I want... errors out.
//source: ["Italy","Hawaii"] // pasted response if un-commented works fine.
});
}
Вот сообщение об ошибке.
GET http://journal.localhost.com/[%22Italy%22,%22Hawaii%22]?term=h 403 (Forbidden)jquery-2.1.1.min.js:4 n.ajaxTransport.k.cors.a.crossDomain.sendjquery-2.1.1.min.js:4 n.extend.ajaxjquery-ui.min.js:7 e.widget._initSource.e.isArray.string.options.source.sourcejquery-ui.min.js:7 e.widget._searchjquery-ui.min.js:6 (anonymous function)jquery-ui.min.js:7 e.widget.searchjquery-ui.min.js:6 (anonymous function)jquery-ui.min.js:7 (anonymous function)jquery-ui.min.js:6 i
Должен быть способ извлечь данные из базы данных и передать их этой функции.
Помоги мне Обиван!
1 ответ
Решение
$(function(){
$.ajax({
dataType: 'text',
type: 'POST',
url: '/albums/fetch_albums',
success: function(response){
console.log(response); // logs ["Italy","Hawaii"] -as expected
var arrResponse = JSON.parse(response); //convert json object to array
test(arrResponse);
}
});
});