2014-07-20 95 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 !祝你的項目好運。 –