typeerror undefined 不是函数 liferay

typeerror undefined is not a function liferay

我正在从服务器获取 json 数据,如 1,User,2,Courses,3,Organization 正确,我将此数据存储在可变实体中,现在我正在为文本字段添加此 json 数据用于自动完成,然后允许文本框(选项卡)有多个值,如下图所示。

我在 alert('entities from the 466 line '+e);

中收到类似 typeerror undefined is not a function 的异常

谁能帮帮我?

AUI().ready('aui-textboxlist', function(A) {
try {
    alert('before calling selectEntities()'); 
    var entities = selectEntities();
    console.log(" entities "+entities);
    alert("entities from the server "+entities);

    entitiesBoxList = new A.TextboxList({
        contentBox: '#<portlet:namespace />entitiesDiv',
        dataSource: entities,
        matchKey: 'name',
        schema: {
            resultFields: ['id', 'name']
        },
        queryMatchContains:true,
        queryDelimiter : ',', 
        after: {
            render: function() {
                try{
                    var instance_ = this;
                    var index = 0;
                    this.entries.insert(index, entry);
                }catch (e) {
                    alert("exception raised at 461 line"+e);
                }
            }
        }
    }).render();        
} catch(e){
    alert('entities from the 466 line '+e);
}

}

你说的是在线:

alert('entities from the 466 line '+e);

然后它要么说你的 alert() 不是一个函数(不太可能) 或您的 'e' 值中的某些内容。既然你说它包含 JSON 数据,也许是因为你没有正确解析数据?

可能更好:我注意到你在第 3 行有一个名为 selectEntities() 的函数。可能它指的是那一行,你有一个绑定问题。

实际上上面的代码在Liferay-6.06中运行良好,我正在尝试将其迁移到Liferay-6.2,所以6.06中的AUI版本在6.2中不起作用:

    AUI().ready('aui-textboxlist-deprecated', function (A) {

        // code that uses A.TextboxList goes here
    }); 

代码适用于 6.2。对于 6.1,我们必须使用 aui-textboxlist 而不是 aui-textboxlist-deprecated。