在Appcelerator ACS中使用ACL时出错

时间:2012-08-23 20:11:29

标签: javascript mobile appcelerator acl

我正在尝试使用ACL功能来控制用户可以与他人共享的帖子。当我将ACL(通过使用浏览器的ACS管理控制台)关联到帖子时,我得到以下错误: “[错误] [TiJSError(629)](主要)[1,124536] - 消息:未捕获的TypeError:无法读取未定义的属性”用户名“”

基本上,如果附加了ACL,则代码仅适用于Post内容和标题。但是,如果我删除ACL,整个代码工作正常。我错过了什么吗?以下是我的代码的外观......

       app.Cloud.Posts.query(function (e) {
        if (e.success) {
            if (e.posts.length == 0) {
                //alert("There is no information to display. Please enter some data and try again.");

                table.setData([
                    { title: 'No Results!' }
                ]);
            }
            else {
                var data = [];
                for (var i = 0, l = e.posts.length; i < l; i++) {
                    data.push(Ti.UI.createTableViewRow({
                        id: e.posts[i].id,
                        title: e.posts[i].title,
                        content: e.posts[i].content,
                        username: e.posts[i].user.username,
                        userfirst_name: e.posts[i].user.first_name,
                        userlast_name: e.posts[i].user.last_name,
                        useremail: e.posts[i].user.email,
                        type: e.posts[i].custom_fields.type,
                        coordinates: e.posts[i].custom_fields.coordinates,
                        latitude : e.posts[i].custom_fields.coordinates[0][1],
                        longitude : e.posts[i].custom_fields.coordinates[0][0]                          
                    }));
                }
                table.setData(data);
            }
        }
        else {
            error(e);
        }
    });

关于如何解决这个问题的任何指示都将非常感激。谢谢!

1 个答案:

答案 0 :(得分:0)

您是否已调试并查看响应数组中的每个“posts”对象?当使用ACL时,它通常仍会返回一个带有不允许发布的id的对象。例如:

{"posts":[{"id":"534dfgdfg44"},{"id":"5436rgdf345f3f3", "username":"meow", etc....}]}

因此,您需要验证返回数组中的每个对象是否具有您要查找的数据。

希望这有帮助。