如何处理快速js中嵌套路由中的参数?

时间:2015-09-01 08:48:53

标签: node.js express

我一直在试验嵌套路线,因为它们方便传递变量

router.post('/postlinkone', function(req, res, next){
 //define few variables (x,y)
 //render or redirect to close this route
   router.post('/postlinktwo', function(req, res, next){
          //use (x,y)
          //render or redirect
   }
}

问题是express能够在初始化期间将变量(x,y)传递给postlink,但这些变量在下一个循环中不会刷新。有没有办法硬盘刷新它们或者有更简单的方法来传递变量

1 个答案:

答案 0 :(得分:0)

Express的理念是构建在req对象上。

不是嵌套路线,而是拥有修改req的独立路线,改变你想要的东西。

router.get('/routeOne', function(req, res, next) {
    // do something 
    req._data = {};

    req._data.x = 'bla bla';

    // call next to move to the next route middleware
    next();
});

router.get('/routeOne', function(req, res, next) {
    // check if the params are still there.
    console.log(req._data);
});