Могу ли я использовать ответ 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);
    }
});

});
Другие вопросы по тегам