在Expressjs中获取Url params

时间:2017-08-25 06:28:38

标签: node.js express

我正在使用nodejs& amp; expressjs。当用户单击重置邮件URL时,他将重定向到具有一些加密数据的控制器。

router.get('/:encryptedData',controller.resetPassword);

在此页面中,我可以访问req.params.encryptedData,当他提交重置表单时,它会发布到

localhost:3000/reset/0183d5992d2c79743d40ea2de6e60f8ffd4c8bb996f3d46971

和post路由器就是这样的

router.post('/:encryptedData',controller.postreset);

在控制器内我试图访问“加密数据”#39;使用req.params.encryptedData,但它显示' reset'在console.Can任何人都可以帮我解决这个问题。

感谢。

1 个答案:

答案 0 :(得分:0)

因为,你的路线是: localhost:3000/reset/0183d5992d2c79743d40ea2de6e60f8ffd4c8bb996f3d46971

后置路由器应如下所示:

router.post('/reset/:encryptedData',controller.postreset);

理想情况下,配置应如下所示:

var app = express();

var router = express.Router();
var resetRouter = express.Router();

// you can nest routers by attaching them as middleware:
router.use('/reset', resetRouter);

app.use('/', router);