Javascript Devbridge自动完成服务URL和查找

Javascript Devbridge自动完成服务URL和查找,javascript,jquery,autocomplete,Javascript,Jquery,Autocomplete,问题: 如果我使用serviceUrl,Devbridge autocomplete可以正常工作,但不会对建议列表进行排序,因为我没有在服务器端实现搜索方法 我更喜欢在客户端使用sort查找属性可以正常工作,但仅适用于本地数组 首先,服务器端使用devbridge建议的json格式返回正确的答案。 因此,我实现了一个函数,该函数获取数据并将其放入数组,然后将其传递给查找 var jsonData= (function() { var result; jQuery.ajax

问题: 如果我使用
serviceUrl
,Devbridge autocomplete可以正常工作,但不会对建议列表进行排序,因为我没有在服务器端实现搜索方法

我更喜欢在客户端使用sort<代码>查找属性可以正常工作,但仅适用于本地数组

首先,服务器端使用devbridge建议的json格式返回正确的答案。 因此,我实现了一个函数,该函数获取数据并将其放入数组,然后将其传递给
查找

    var jsonData= (function() {
    var result;
    jQuery.ajax({
        type:'GET',
        url:'index.php?option=com_crowdfunding&format=raw&task=project.loadLocations',
        dataType:'json',
        async:true,
        success:function(data){
            result = data;
        }
    });
    return result;
})();


jQuery('#autocomplete-ajax').autocomplete({
    lookup:jsonData,
我发现问题在于,当服务器没有数据时,脚本会进一步执行。我原以为属性
async:false
可以解决我所有的问题,但我面临的问题是,arribute已经贬值,我不知道如何修复它。

试试这个:

$(document).ready(function() {
    var jsonData= (function() {
        var result;
        jQuery.ajax({
            type:'GET',
            url:'index.php?option=com_crowdfunding&format=raw&task=project.loadLocations',
            dataType:'json',
            success:function(data){
               result = data;
            }
        });
        return result;
    });
    jQuery('#autocomplete-ajax').autocomplete({
        lookup:jsonData,
    }
});
试试这个:

$(document).ready(function() {
    var jsonData= (function() {
        var result;
        jQuery.ajax({
            type:'GET',
            url:'index.php?option=com_crowdfunding&format=raw&task=project.loadLocations',
            dataType:'json',
            success:function(data){
               result = data;
            }
        });
        return result;
    });
    jQuery('#autocomplete-ajax').autocomplete({
        lookup:jsonData,
    }
});