2016-04-30 62 views
0

在有明確的node.js,我想這樣的如何使用express來處理Node.js中帶有可變數字的路由URL?

app.get('/class/^(\d+)$/feedback', function (req, res) { 

}); 

因此,例如/class/5/feedback的URL路徑應該是有效的,但在Node.js的正則表達式的數字似乎並沒有工作。

有誰知道如何使它工作?

感謝

+0

@omega爲什麼不使用params而不是正則表達式? –

+0

刪除「^」和「$」錨點。 –

回答

0

您需要刪除從正則表達式錨(^$),並把它正確。您還需要將/轉義爲\/,並且在使用正則表達式時不需要'。您最終的正則表達式看起來像

/^class\/(\d+)\/feedback$/ 

代碼

app.get(/^class\/(\d+)\/feedback$/, function (req, res) { 
    res.write(req.params[0]); 
}); 
0

讓我們說數稱爲 '身份證'。這是更好的方法:

app.get('/class/:id/feedback', function (req, res) { 
    var id = req.params.id; 
}); 

:id是通過'params'關鍵字訪問。

相關問題