2014-12-11 3 views
0

У меня есть простой маршрут определяется таким образом, какпроект Экспресс Node.js отсутствует параметр маршрута

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

Однако при обработке маршрута. Поле request.params пусто. Когда я ожидаю, что он должен быть заполнен ключом, представляющим продукт (который должен быть установлен для тестирования в приведенном выше примере).

enter image description here

Любые мысли о том, почему Request.Params не содержит ключ продукта в этом примере?

ответ

0

router.get('/', . . . не имеет каких-либо параметров. Взгляните на запрос внутри него, URL будет «/».

Маршрутизаторы предназначены для взаимозаменяемости, поскольку они совершенно не знают, что их маршрутизирует другой маршрутизатор.

Что касается исправления, вы можете добавить промежуточное программное обеспечение, которое отмечает параметр.

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

Не проверено, но если я правильно помню, он должен работать.

Смежные вопросы