解析用户保存会在没有任何提示的情况下抛出错误

时间:2016-09-21 13:26:12

标签: javascript parse-platform

我正在尝试使用

将用户保存在Parse User表中
user.save(null,{
                                        success: function(savedUser){
                                            alert("We saved parseID");
                                        },
                                        error: function(error){
                                            alert('Error'+JSON.stringify(error));
                                        }
                                    })

不幸的是,抛出了包含我正在尝试保存的对象的错误:

 {"username":"ffsdfsd","password":"gdfgfdd","createAt":2016-09-21T13:13:18.965Z", "updatedAt":"2016-09-21T13:13:18.965Z","ACL":{"*":{"read":true},"2FUmrere":{"read":true,"write":true}},"sessionToken":"fdgfdgdgdgdf","objectId":"3ffd3f"}

有什么想法吗?它是否与ACL设置相关(仅限读取权限)?

1 个答案:

答案 0 :(得分:0)

如果您尝试保存的用户不是登录用户,那么这是一个ACL问题。在数据库中创建新用户时,默认ACL为公共读取,但写入权限仅授予用户。

如果您仍想在不更改默认ACL的情况下保存此用户的新数据,则需要创建云代码功能,并且在云代码功能中,您需要编写以下代码:

    user.save(null,{
        sessionToken: request.user.get("sessionToken")
    }).then(function(user){
        // user saved
    },function(error){
        // error handling
    });

请注意在我的代码中我发送了登录的用户会话令牌(这在解析服务器中是必需的),我也使用Promises这是最佳做法。