在有明确的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而不是正则表达式? –
删除“^”和“$”锚点。 –