我可以使用 jquery ajax 响应来自动完成吗

Can I use jquery ajax response for Autocomplete

现在是凌晨 3 点。几个小时以来,我一直在用头撞墙,就是不明白。

我正在尝试对来自 ajax 请求的源数据使用 jQuery 自动完成功能。 Ajax 似乎工作得很好,但我似乎无法使用源数据的响应。 匿名函数在就绪时获取数据。 Success 调用 test(response) 将数据传递给具有自动完成功能的函数。响应看起来与示例代码完全一样。当我从控制台粘贴我的回复时,它工作得很好。但它不会让我使用变量 'albums' 作为来源。

$(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

必须有一种方法可以从数据库中获取数据并将其提供给此函数。

帮我欧比万!

$(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);
    }
});

});