在有明確的node.js,我想這樣的如何使用express來處理Node.js中帶有可變數字的路由URL?
app.get('/class/^(\d+)$/feedback', function (req, res) {
});
因此,例如/class/5/feedback
的URL路徑應該是有效的,但在Node.js的正則表達式的數字似乎並沒有工作。
有誰知道如何使它工作?
感謝
在有明確的node.js,我想這樣的如何使用express來處理Node.js中帶有可變數字的路由URL?
app.get('/class/^(\d+)$/feedback', function (req, res) {
});
因此,例如/class/5/feedback
的URL路徑應該是有效的,但在Node.js的正則表達式的數字似乎並沒有工作。
有誰知道如何使它工作?
感謝
您需要刪除從正則表達式錨(^
和$
),並把它正確。您還需要將/
轉義爲\/
,並且在使用正則表達式時不需要'
。您最終的正則表達式看起來像
/^class\/(\d+)\/feedback$/
代碼
app.get(/^class\/(\d+)\/feedback$/, function (req, res) {
res.write(req.params[0]);
});
讓我們說數稱爲 '身份證'。這是更好的方法:
app.get('/class/:id/feedback', function (req, res) {
var id = req.params.id;
});
:id是通過'params'關鍵字訪問。
@omega爲什麼不使用params而不是正則表達式? –
刪除「^」和「$」錨點。 –