Javascript 路由不重定向,只是崩溃。没有显示任何错误

Javascript 路由不重定向,只是崩溃。没有显示任何错误,javascript,node.js,reactjs,web,passwords,Javascript,Node.js,Reactjs,Web,Passwords,希望你今天过得很好 我有此代码,用于通过电子邮件链接重置密码,并向用户返回一个带有flash通知的页面,以确认完成: router.post('/resetPassword', function(req, res, next) { async.waterfall([ function(done) { crypto.randomBytes(25, function(err, buf) { var token = buf.toString('hex');

希望你今天过得很好

我有此代码,用于通过电子邮件链接重置密码,并向用户返回一个带有flash通知的页面,以确认完成:

router.post('/resetPassword', function(req, res, next) {
  async.waterfall([
    function(done) {
      crypto.randomBytes(25, function(err, buf) {
        var token = buf.toString('hex');
        done(err, token);
      });
    },
    function(token, done) {
      User.findOne({ email: req.body.username}, function(err, user) {
        if (!user) {
          req.flash('error', 'No account with that email address exists.');
          return res.redirect('forgot');
        }


            user.resetPasswordToken = token;
            user.resetPasswordExpires = Date.now() + 3600000; // 1 hour

            user.save(function(err) {
              done(err, token, user);
            });

      });
    },
    function(token, user, done) {
            var transporter = nodemailer.createTransport({
             service: 'gmail',
             auth: {
                 user: emailAddress,
                 pass: config.emailPass
             }
            });
      var mailOptions = {
        to: user.email,
        from: emailAddress2,
        subject: 'Tracker Password Reset',
        text: 'A request has been made to update the password on the tracking site.\n\n' +
          'Please click on the follow this link to do so:\n\n' +
          'http://' + req.headers.host + '/users/reset/' + token + '\n\n' +
          'If you did not request this, please ignore this email and your password will remain unchanged.\n'
      };

            transporter.sendMail(mailOptions, function(err, info){
             if (error) {
         done(err, 'done');
                 console.log(error);
             } else {
         done(err, 'done');
                 console.log('Email sent: ' + info.response);
             }
            });
    }
  ], function(err) {

    if (err) return next(err);
        req.flash('info', 'An e-mail has been sent to ' + user.email + ' with further instructions.');
    return res.redirect('back');
  });
});
它运行良好,将发送电子邮件e.c.t.,但它不会像我预期的那样重定向回
return res.redirect('back'),它只是卡住了,最终崩溃了


感谢您的帮助,Ed.

您是否阅读了浏览器控制台以查看是否显示任何错误?

我认为您放错了返回语句。(并应移除返回按钮

应该是:

...

, function(err) {

    if (err) return next(err);
        req.flash('info', 'An e-mail has been sent to ' + user.email + ' with further instructions.');   
  });
 res.redirect('back');
});