首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >events.js抛出er;//未处理的“错误”事件node.js

events.js抛出er;//未处理的“错误”事件node.js
EN

Stack Overflow用户
提问于 2018-01-12 23:53:58
回答 1查看 1.1K关注 0票数 0

编辑1

明白了

代码语言:javascript
复制
// Reset Password Token link :get
router.get('/users/reset-password/:token', function(req, res) {
  User.findOne({ resetPasswordToken: req.params.token, resetPasswordExpires: { $gt: Date.now() } }, function(err, user) {
    if (!user) {
      req.flash('error', 'Password reset token is invalid or has expired.');
      return res.redirect(302, '/users/new-password');
    }

    res.redirect(301, 'reset-password', {
      user: req.user
    });
  });
});

router.get('/users/new-password', function(req, res) {
  res.render('new-password', {
    pageTitle: 'New Password',
    User: req.user
  });
});

我必须指定一个get路径,但这看起来真的不安全,因为我不想让任何人只访问这个页面,也许我想得太多了?

--

原始问题

目前,我正在设置一个重置密码系统,电子邮件正在发送,一个带有令牌的url正在生成,但是当我单击链接转到新的密码页时,我将得到以下内容

代码语言:javascript
复制
Fri Jan 12 2018 23:49:37 GMT+0000 (GMT): GET /users/reset-password/23afd201c93945bfec7131801b377ea92edfc1fa
express deprecated res.redirect(url, status): Use res.redirect(status, url) instead routes/users.js:298:9
events.js:136
      throw er; // Unhandled 'error' event
      ^

RangeError [ERR_HTTP_INVALID_STATUS_CODE]: Invalid status code: [object Object]

这是我的路线

代码语言:javascript
复制
// Reset Password Token link :get
router.get('/users/reset-password/:token', function(req, res) {
  User.findOne({ resetPasswordToken: req.params.token, resetPasswordExpires: { $gt: Date.now() } }, function(err, user) {
    if (!user) {
      req.flash('error', 'Password reset token is invalid or has expired.');
      return res.redirect('/users/new-password');
    }

    res.redirect('/users/reset-password', {
      user: req.user
    });
  });
});

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-01-13 01:55:00

@jfriend00的评论生效了

代码语言:javascript
复制
Look at the doc for res.redirect(). It takes two parameters, an optional status code and a path. There is no parameter for an object like you are trying to use. So, either use res.redirect('/users/reset-password') or res.redirect(302, '/users/reset-password'). If you want to put a query string in the URL, then put that into the path itself. – jfriend00 14 mins ago 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48235598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档