whi*_*fin 31 routes node.js express
我不确定这是否是Express中的错误,或者我只是做错了(可能是后者),但我发现req.params只在请求的最后一步保留参数.为了证明我的意思:
工作实例:
router.get('/:id/test', function(req, res){
// req.params.id is not undefined
});
Run Code Online (Sandbox Code Playgroud)
不起作用:(
档案1:
router.use('/:id', require('./file2'));
Run Code Online (Sandbox Code Playgroud)
文件2:
router.get('/test', function(req, res){
// req.params.id is undefined?!
});
Run Code Online (Sandbox Code Playgroud)
现在......上面对我来说似乎完全不合逻辑,因为Express生成器以上述方式定义了路径 - 它仍然必须在某个路径中定义.当然我仍然可以访问"id"?
所以基本上,我错过了什么?这是故意/有记录吗?FWIW我正在使用Express v4.12.0.
免责声明:文件可能无关紧要,但最好是安全而不是抱歉.
log*_*yth 52
当你创建你的Router
in时File 2
,你需要告诉它继承父母的params.
var router = express.Router({mergeParams: true});
Run Code Online (Sandbox Code Playgroud)
http://expressjs.com/api.html#router
归档时间: |
|
查看次数: |
4190 次 |
最近记录: |