如何停止在expressjs中丢失请求参数?
我已经在一个单独的如何停止在expressjs中丢失请求参数?,express,Express,我已经在一个单独的route.js文件中定义了我的路线,如下所示(为了简洁起见,删除了详细信息) 在server.js中,我将这条路线映射如下 var route = require('./routes/route.js'); app.use('/api/use/:id/role', route); 已正确调用My route函数,但路由器处理程序中的id参数不可用。我做错了什么吗?使用以下选项: 完整的独立示例: var express = require('express'); var a
route.js
文件中定义了我的路线,如下所示(为了简洁起见,删除了详细信息)
在server.js
中,我将这条路线映射如下
var route = require('./routes/route.js');
app.use('/api/use/:id/role', route);
已正确调用My route函数,但路由器处理程序中的id
参数不可用。我做错了什么吗?使用以下选项:
完整的独立示例:
var express = require('express');
var app = express();
var server = app.listen(3000);
var router = express.Router({ mergeParams : true });
router.route('').get(function(req, res) {
console.log('id', req.params.id);
return res.sendStatus(200);
});
app.use('/api/use/:id/role', router);
使用以下选项:
完整的独立示例:
var express = require('express');
var app = express();
var server = app.listen(3000);
var router = express.Router({ mergeParams : true });
router.route('').get(function(req, res) {
console.log('id', req.params.id);
return res.sendStatus(200);
});
app.use('/api/use/:id/role', router);
将其添加到子路由器不起作用
req.params
仍然为空。@Suhas我发布了一个适用于我的完整示例(使用express@4.13.3
)将其添加到子路由器不起作用req.params
仍然为空。@Suhas我发布了一个适用于我的完整示例(使用express@4.13.3
)
var express = require('express');
var app = express();
var server = app.listen(3000);
var router = express.Router({ mergeParams : true });
router.route('').get(function(req, res) {
console.log('id', req.params.id);
return res.sendStatus(200);
});
app.use('/api/use/:id/role', router);