我有一个简单的路线,例如
gApp.use('/alert/:product', routeAlertProduct); // example: http://localhost/alert/test
然而,在处理路线时。 request.params字段为空。当我希望它应该用代表产品的键填充时(应该在上面的例子中设置为测试)。
有关为什么request.params在此示例中不包含产品密钥的任何想法?
答案 0 :(得分:0)
router.get('/', . . .
没有任何参数。看看里面的请求,网址将是' /'。
路由器的设计是可互换的,让它们完全不知道被另一台路由器路由。
至于修复,您可以添加一个记下该参数的中间件。
gApp.use('/alert/:product', function noteDownTheProduct (req, res, next) {
req.product = req.params.product;
next();
}, routeAlertProduct);
未经测试,但如果我没记错,它应该可以正常使用。