Jquery 自动完成不工作Liferay 6.2

Jquery 自动完成不工作Liferay 6.2,jquery,ajax,json,liferay,liferay-aui,Jquery,Ajax,Json,Liferay,Liferay Aui,我已经按照“自动完成”的要求,从服务器获取以下格式的数据(代码: alert('jsonArray came: ' + jsonArray)) 提供以下信息: [ { "roleName": "Organization User", "roleId": 10147 }, { "roleName": "Site Admin", "roleId": 16883 }, {

我已经按照“自动完成”的要求,从服务器获取以下格式的数据(代码:

 alert('jsonArray came: ' + jsonArray))
提供以下信息:

   [
    {
        "roleName": "Organization User",
        "roleId": 10147
    },
    {
        "roleName": "Site Admin",
        "roleId": 16883
    },
    {
        "roleName": "Student",
        "roleId": 18139
    },
    {
        "roleName": "Parent",
        "roleId": 18146
    },
    {
        "roleName": "Faculty",
        "roleId": 18153
    },
    {
        "roleName": "SchooloneStudent",
        "roleId": 27701
    }
]
,但从代码:new A.AutoCompleteList无法获取数据。有人能帮我吗

<aui:script>
AUI().use('autocomplete-list','aui-base','aui-io-request','autocomplete-filters','autocomplete-highlighters',function (A) {
A.io.request('<%=getRoles%>',{
dataType: 'json',
method: 'GET',
on: {
success: function(event, id, obj) {

var instance = this ;
var data = instance.get('responseData');
var jsonArray = JSON.stringify(data);
alert('result came: ' + data);
alert('jsonArray came: ' + jsonArray);
try {
new A.AutoCompleteList(
{
allowBrowserAutocomplete: 'false',
activateFirstItem: 'true',
inputNode: '#<portlet:namespace />ListOfRoles',
resultTextLocator: 'roleName',
render: 'true',
resultHighlighter: 'phraseMatch',
resultFilters:['phraseMatch'],
source:jsonArray,
});
}catch(e) {
alert('not working : ' + e);
}
}

}
});

});
</aui:script>

AUI()。使用('autocomplete-list'、'AUI-base'、'AUI-io-request'、'autocomplete-filters'、'autocomplete-highlighters',函数(A){
A.io.请求(“”{
数据类型:“json”,
方法:“GET”,
关于:{
成功:功能(事件、id、obj){
var实例=这个;
var data=instance.get('responseData');
var jsonArray=JSON.stringify(数据);
警报('结果来了:'+数据);
警报(“jsonArray来了:”+jsonArray);
试一试{
新的自动完成列表(
{
allowBrowserAutocomplete:“false”,
activateFirstItem:'真',
inputNode:“#ListOfRoles”,
resultTextLocator:'roleName',
渲染:“true”,
ResultThighLighter:“短语匹配”,
结果筛选器:[“短语匹配”],
资料来源:jsonArray,
});
}捕获(e){
警报(“不工作:”+e);
}
}
}
});
});

我认为您无需表示响应,因为您已经收到JSON格式的响应。可能存在一些数据不匹配。。。 试试这个:

<aui:script>
AUI().use('autocomplete-list','aui-base','aui-io-request','autocomplete-filters','autocomplete-highlighters',function (A) {
A.io.request('<%=getRoles%>',{
            dataType: 'json',
            method: 'GET',
            on: {
                success: function(event, id, obj) {

                    try {
                    new A.AutoCompleteList(
                            {
                            allowBrowserAutocomplete: 'false',
                            activateFirstItem: 'true',
                            inputNode: '#<portlet:namespace />roleNames',
                            resultTextLocator: 'roleName',
                            render: 'true',
                            resultHighlighter: 'phraseMatch',
                            resultFilters:['phraseMatch'],
                            source:this.get('responseData'),
                            autoLoad:false,
                            sync:false,
                            });
                        }catch(e) {
                        alert('not working: ' + e);
                    }
                }

                }
            });

});
</aui:script>

AUI()。使用('autocomplete-list'、'AUI-base'、'AUI-io-request'、'autocomplete-filters'、'autocomplete-highlighters',函数(A){
A.io.请求(“”{
数据类型:“json”,
方法:“GET”,
关于:{
成功:功能(事件、id、obj){
试一试{
新的自动完成列表(
{
allowBrowserAutocomplete:“false”,
activateFirstItem:'真',
inputNode:“#角色名称”,
resultTextLocator:'roleName',
渲染:“true”,
ResultThighLighter:“短语匹配”,
结果筛选器:[“短语匹配”],
来源:this.get('responseData'),
自动加载:false,
同步:假,
});
}捕获(e){
警报(“不工作:”+e);
}
}
}
});
});
谢谢

~z~钱丹