0

我正在尝试使用 ACL 功能来控制用户可以与他人分享的帖子。当我将 ACL(通过使用浏览器的 ACS 管理控制台)关联到帖子时,我收到以下错误:“[ERROR][TiJSError(629)] (main) [1,124536] - Message: Uncaught 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);
        }
    });

任何有关如何解决此问题的指示将不胜感激。谢谢!

4

1 回答 1

0

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

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

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

希望这可以帮助。

于 2013-02-12T20:54:05.470 回答