在带有express的node.js中,我想要一个像这样的URL路由
app.get('/class/^(\d+)$/feedback', function (req, res) {
});
所以例如/class/5/feedback
应该有效,但node.js正则表达式中的数字似乎不起作用。
有谁知道如何让它发挥作用?
由于
答案 0 :(得分:0)
您需要从正则表达式中删除锚点(^
和$
)并正确放置。您还需要将/
转义为\/
,并且在使用正则表达式时不需要'
。你的最终正则表达式看起来像
/^class\/(\d+)\/feedback$/
代码的
app.get(/^class\/(\d+)\/feedback$/, function (req, res) {
res.write(req.params[0]);
});
答案 1 :(得分:0)
让我们说这个号码被称为“id'”。这是更好的方法:
app.get('/class/:id/feedback', function (req, res) {
var id = req.params.id;
});
:id可以通过' params'关键字。