【发布时间】:2015-03-29 01:39:10
【问题描述】:
我有这个应该可以工作的代码。我在其他地方有几乎相同的代码。但是,user.save 不会触发,User.update 也不会触发。我意识到这里有很多无关的代码,我移动了很多东西试图弄清楚为什么保存和更新都不起作用(是的,我知道我只需要一个,我都试过了已经单独,只是这样做来说明)。
User.findOneByEmail(req.param('email'), function foundUser (err, user) {
if (err) return next(err);
E.l(user);
if (!user) {
var noAccountError = [{name: 'noAccount', message: 'The email ' + req.param('email') + ' was not found.'}]
req.session.flash = {
err: noAccountError
}
res.redirect('/user/forgot');
return;
}
var userObj = {
lostpasswordtoken: Helper.Guid()
}
user["lostpasswordtoken"] = userObj.lostpasswordtoken;
user.save(function(err){
if (err) {
E.l(err);
} else {
E.l("save workd");
}
});
User.update(user.id, userObj, function userTokenUpdated (err) {
E.l(user['id']);
E.l(JSON.stringify(userObj));
if (err) {
return res.redirect('/user/forgot');
}
E.l("here6");
});
MailService.SendMail({ to: user['email'], subject: 'Password Reset',
body: 'Click on http://' + req.headers.host + '/user/validateforgot?e=' + user['email'] + '&t=' + userObj['lostpasswordtoken']});
res.view();
E.l("here8");
});
E.l("here9");
【问题讨论】: