我正在尝试使用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);
}
});
关于如何解决这个问题的任何指示都将非常感激。谢谢!
答案 0 :(得分:0)
您是否已调试并查看响应数组中的每个“posts”对象?当使用ACL时,它通常仍会返回一个带有不允许发布的id的对象。例如:
{"posts":[{"id":"534dfgdfg44"},{"id":"5436rgdf345f3f3", "username":"meow", etc....}]}
因此,您需要验证返回数组中的每个对象是否具有您要查找的数据。
希望这有帮助。