从解析对象检索信息时,Parse JavaScript返回[object,Object]

时间:2015-11-23 05:26:08

标签: javascript jquery html json parse-platform

当我尝试从我的解析数据中检索信息时,我似乎没有问题将用户表中的信息显示到我的文档上,但是当我尝试查询另一个对象&使用text();html();val();使用jQuery将其插入到id元素中我得不到任何内容,或者文本变为[object Object]。下面是我写下的代码。我也试过一种JavaScript方法&相同的输出我得[object Object]。此外,当我控制日志JSON stringify query.get("fieldone")时,我得到了这个。

  

{ “_解决”:假, “_拒绝”:假, “_ resolvedCallbacks”:[], “_ rejectedCallbacks”:[]}

如何将其转换为我想要检索的字符串值。以下是代码

     var currentUser = Parse.User.current();



     if (currentUser) {
         var UserInfo = Parse.Object.extend("UserInfo");
         var query = new Parse.Query(UserInfo);
         query.equalTo("user", currentUser);
         query.find({
            success: function(UserInfo) {
           // The object was retrieved successfully.


           console.log(JSON.stringify(query.get("fieldone")));

           document.getElementById('fieldone').innerHTML = query.get("fieldone");

            $('#fieldtwo').html(query.get("fieldtwo"));

            $('#startDate').html(query.get("startdate"));

            $('#endDate').html(query.get("enddate"));
        },
        error: function(object, error) {
          // The object was not retrieved successfully.
          // show alert
      }

    });

  }

2 个答案:

答案 0 :(得分:0)

你的成功功能是错误的。 query.get执行查询,就像query.find一样,它会返回一个承诺(您的console.log显示它)并且还应该有一个success函数(每个函数)。

无论如何,成功函数接收你想要查找/查询的对象或对象数组,试试这个:

success: function(userFound) {
    // The user was retrieved successfully.
    console.log(userFound);
}

您应该看到您的用户拥有他的所有属性。

答案 1 :(得分:0)

当您调用query.find时,您将收到符合您设置条件的所有用户(在ARRAY中)。在这种情况下,它只是一个用户。

在这个简单的例子中,您可以使用GET或FIRST,这更有意义。你还应该使用promises(完成/失败)而不是回调块,因为它们可以被链接并且你的可读性有所提高。

而且,最后的答案是,要获得字段的值,您应该在OBJECT中使用GET,而不是在查询中。

所以,我对你的代码的建议是:

var currentUser = Parse.User.current();
if (currentUser) {
    var UserInfo = Parse.Object.extend("UserInfo");
    var query = new Parse.Query(UserInfo);
    query.get(currentUser.id).done(function(userQueried) {
        // The object was retrieved successfully.
        console.log(JSON.stringify(userQueried));
        document.getElementById('fieldone').innerHTML = userQueried.get("fieldone");
        $('#fieldtwo').html(userQueried.get("fieldtwo"));
        $('#startDate').html(userQueried.get("startdate"));
        $('#endDate').html(userQueried.get("enddate"));
    }).fail(function(error) {
        // The object was not retrieved successfully.
        console.log(JSON.stringify(error));
    });
}

那就是它!