2016-04-30 26 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'关键字访问。

相关问题