我正在尝试使用 req.params 获取路径变量" userId" 的值,但我得到未定义如果有人能引导我解决这个问题,我将非常感谢他。我把我的代码放在下面。
我已经通过一些例子,但这些例子也是这样做的,我不知道我的代码出了什么问题。
谢谢,
控制器的父路由器
app.use("/user/:userId/group",groupController);
控制器中的操作
Router.post("/", function (req, res, next) {
var group = new Group(req.body);
console.log(req.params);
group.userId = req.params.userId;
group.save(new dataCallbacks(req, res, next, "Group").insert());
});
答案 0 :(得分:3)
我认为你的路线错了,你不能路由到/user/:userId/group
并发布到没有意义的/
。我的意思是获得userId
param,您应该发布到/user/:userId/group
:
路由文件route.js
:
var ctrl = require('controller.js');
app.route('/user/:userId/group').post(ctrl.doIt);
控制器文件controller.js
:
exports.doIt = function(req, res, next) {
var group = new Group(req.body);
console.log(req.params);
group.userId = req.params.userId;
group.save(new dataCallbacks(req, res, next, "Group").insert());
});