2014-07-20 94 views
0

在我的节点应用程序中,我想将url中的路径数量不确定且路径数量不限的一个模板中,然后向该模板呈现所有路径的数组。在Express 4中将路由路径参数转换为数组

例如,我想允许的路由'/'/foo//foo/bar//foo/bar/[...etc]所有指向与路径相同的视图模板分成数组,即:[]['foo']['foo','bar'],分别。

这个代码,似乎回答这个问题的第一部分:

app.route('/*') 
    .get(function (req, res) { 
    res.render('index',{ 
     paths: req.params[0] 
    }); 
    }); 

但是,当我遍历模板中的paths变量,每个字母都放出来单独,而不是通过路径路径。

这可能吗?如果是这样,一些帮助将不胜感激。

回答

2

这是因为你正在循环一个字符串,所以它从该字符串中拉出每个字符。只需将req.params[0]更改为req.params[0].split('/')即可。

http://localhost:4000/my/full/path会给你[ 'my', 'full', 'path' ]作为你的视图中的paths变量。

+0

我很确定我试过这个,它抛出了一个错误(req.params [0]没有方法“分裂”,但我一定是输入错误,你的方式工作,但非常感谢! – bravokiloecho

+0

没有probs !祝你的项目好运。 –