我是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”...} 结果:成功
任何帮助将不胜感激!谢谢!
答案 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");
}
});
}
});
}});
}