app.post('/reset/:token', function(req, res) {
async.waterfall([
function(done) {
User.findOne({ 'local.resetPasswordToken' : req.params.token, 'local.resetPasswordExpires' : { $gt: Date.now() } }, function(err, user) {
if (!user) {
req.flash('resetMessage', req.params.token);
return res.redirect('back');
}
], function(err) {
res.redirect('/');
});
});
app.get('/reset/:token', function(req, res) {
User.findOne({ 'local.resetPasswordToken': req.params.token, 'local.resetPasswordExpires' : { $gt: Date.now() } }, function(err, user) {
if (!user) {
req.flash('forgotMessage', req.params.token);
return res.redirect('/forgot');
}
res.render('reset.ejs', { user: req.user, message: req.flash('resetMessage') });
});
});
<!--Reset.ejs page ResetPassword FORM -->
<form action="/reset/:token" method="post">
<div class="form-group">
<label>New Password</label>
<input type="text" class="form-control" name="newpassword">
</div>
<div class="form-group">
<label>Confirm Password</label>
<input type="text" class="form-control" name="confirmpassword">
</div>
<button type="submit" class="btn btn-warning btn-lg">Reset</button>
</form>
我能夠得到與req.params.token標記爲「後」點擊 http://localhost:8080/reset/fed831abf73150c96f6a3e392b5cbdcaccdeb9bd沒有的NodeJS能夠得到req.params.token令牌值
後來後,當我通過提交reset.ejs爲「get」,我無法通過req.params.token檢索任何標記值。
它的任何解決方案?
您不會將實際標記傳遞到表單操作。 –
表單動作使用「/ reset /:token」,但我希望Tedd在這裏填寫實際的標記,而不是「:token」。 – xaviert
我無法弄清楚我應該如何編寫它才能填充它。 –