Parse.com Node.js通过id更新用户

时间:2014-09-26 11:58:34

标签: javascript node.js parse-platform

我是Parse.com的Javascript SDK新手。我正在尝试开发一个管理功能,我可以在其中更新用户。通过检索表单中用户对象的更新值来调用以下函数。

app.post('/update', function(req, res){
    var userid = req.body.userid #id retrieved from user object

    var query = new Parse.Query(Parse.User);
    query.get(userid, {
        success: function (user) {
            user.set("name",req.body.name); #name retrieved from user object
            user.save();
            res.redirect("/home");
        },
        error: function (error) {
            console.log(error);
            res.redirect("/home");
        }
    });
});

我一直在尝试使用这些代码,但是在成功重定向的情况下返回,但没有明确指出错误是什么。

Cloud Code服务器的控制台日志显示以下内容:

I2014-09-26T10:54:34.207Z] v001:使用以下命令调整自定义端点:   输入:{“method”=>“GET”,“url”=>“/ home”...}   结果:成功

任何帮助将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:0)

如评论中所述,您需要检查保存时的错误。还记得Parse.Object.save()是一个异步函数,你不想重定向,直到保存成功。

app.post('/update', function(req, res) {
        var userid = req.body.userid;
        var pwd = req.body.pwd;
        Parse.User.logIn("userid", "pwd", {
            success: function (user) {
                user.set("username", "my_new_username");  // attempt to change username
                user.save(null, {
                    success: function (user) {
                        var query = new Parse.Query(Parse.User);
                        query.get(userid, {
                            success: function (user) {
                                user.set("name", req.body.name);
                                user.save(null, {
                                    success: function (savedUserObject) {
                                        res.redirect('/home');
                                    },
                                    error: function (gameScore, error) {
                                        console.log('Failed to save object: ' + error.message);
                                        res.redirect('/error')
                                    }
                                });
                                res.redirect("/home");
                            },
                            error: function (error) {
                                console.log(error);
                                res.redirect("/home");
                            }
                        });
                    }
                });
            }});
}