Express Node.js项目在路由中缺少参数

时间:2014-12-11 21:00:00

标签: node.js express

我有一个简单的路线,例如

gApp.use('/alert/:product', routeAlertProduct); // example: http://localhost/alert/test

然而,在处理路线时。 request.params字段为空。当我希望它应该用代表产品的键填充时(应该在上面的例子中设置为测试)。

enter image description here

有关为什么request.params在此示例中不包含产品密钥的任何想法?

1 个答案:

答案 0 :(得分:0)

router.get('/', . . .没有任何参数。看看里面的请求,网址将是' /'。

路由器的设计是可互换的,让它们完全不知道被另一台路由器路由。

至于修复,您可以添加一个记下该参数的中间件。

gApp.use('/alert/:product', function noteDownTheProduct (req, res, next) {
  req.product = req.params.product;
  next();
}, routeAlertProduct);

未经测试,但如果我没记错,它应该可以正常使用。