NODEJS - 在同一个Url上重新路由

时间:2016-03-12 09:54:35

标签: node.js express routing

我有点陷入困境。请帮帮我

我想解决的问题是 -

我得到一些帖子参数,我想根据NodeJs中的那些参数进行路由。现在的问题是当我使用switch case在post params的基础上进行路由时,没有发生重新路由。

router.post('/', function (req, res, next) {
    var method = req.body.method;
    switch (method) {
        case 'register_user':
            router.post('/', userController.registerUser);
            break;
        case 'user_login':
            router.post('/', userController);
            break;
}
});

1 个答案:

答案 0 :(得分:1)

在交换机上下文中重新路由代码只会在路径/上添加更多中间件,而不是按照您的想法实际执行路由。

像这样修改:

router.post('/', function (req, res, next) {
    var method = req.body.method;
    switch (method) {
        case 'register_user':
            // returned since you want route to the function
            return userController.registerUser(req, res, next);
            break;
        case 'user_login':
            return userController(req, res, next);
            break;
    }
});