无法使用钛云解析用户查询结果

时间:2013-09-15 14:03:54

标签: javascript titanium

我正在对用户(钛云服务)执行查询:

Cloud.Users.query({
  page: 1,
  per_page: 5,
  where: {
    email: 'example@example.com'
  }
}, function(e) {
  if (e.success) {
    alert(JSON.parse(e.users));
  } else if (e.error) {
    alert(e.message);
  } else {}
});

执行查询后,我无法在e.users上解析successalert不返回任何内容。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

根据我对this example in Titanium docs的理解,e.users是一个数组,而不是JSON字符串。您应该可以执行以下操作:

for (var i = 0; i < e.users.length; i++) {
    var user = e.users[i];
    alert('id: ' + user.id + '\n' +
        'first name: ' + user.first_name + '\n' +
        'last name: ' + user.last_name);
 }

答案 1 :(得分:0)

您正在尝试解析作为数组的e.users。您应该使用循环遍历数组,并且只需使用JSON.stringify方法

提醒每个用户

尝试以下代码

    Cloud.Users.query({
        page: 1,
        per_page: 5,
        where: {
           email: 'example@example.com'
        }
    }, function (e) {
        if (e.success) {
            alert('Total Users: ' + e.users.length);
            for (var i = 0; i < e.users.length; i++) {
                var user = e.users[i];
                alert(JSON.stringify(user)); //This line will display the details of the user as a string
             }
        } else {
            alert('Error:\n' +
                ((e.error && e.message) || JSON.stringify(e)));
        }
    });

您应该阅读Titanium.Cloud.Users module。文档本身显示了如何查询用户。