如何在express(node.js)中获取路径变量

时间:2015-06-25 16:03:57

标签: javascript node.js express

我正在尝试使用 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());
});

1 个答案:

答案 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());
});