如何在Express中将路径参数传递给子路由器

6

以下是代码:

router.use('/campaigns/:campaign_uid', cache.node_cache, api_dynamic_campaign.router);

我有一个路由器路由到另一个路由器,看起来像这样:

router.get('/data.json', campaigns);

处理程序如下所示:
function campaigns(request, response){
    var campaign = api.get_campaign_from_request(request) || request.params.campaign_uid;
    api.route_handler(request, response, {"campaign":campaign});
}

我的问题是处理程序没有访问请求参数中的活动uid。 如何访问/传递活动uid给处理程序?


3
您的中间件可以向 req 对象添加属性,这些属性将可供链中其他路由处理程序访问。就像许多中间件处理程序为 cookie 和查询参数等内容所做的那样... - jfriend00
我相信这就是 app.param 或 router.param 的意义所在。 - Molda
1个回答

3

请花些时间来真正解释你的答案内容。有时候,发布外部参考资料可能会有所帮助,但这只是对已经非常详尽的答案的一个很好的补充。 - BiOS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接