具有斜杠的ExpressJS路径参数

时间:2013-07-02 05:10:21

标签: node.js express routes

我正在使用ExpressJS。我想传递url作为参数。

app.get('/s/:url', function(req, res) {
    console.log(req.params.url);
});

/s/sg.com                   //sg.com
/s/www.sg.com               //www.sg.com
/s/http://sg.com            //http://sg.com
/s/http://sg.com/folder     //http://sg.com/folder

如何更正路线,以便将/s/之后的所有内容视为包含斜线的参数。

由于

1 个答案:

答案 0 :(得分:6)

呃,如果你想在另一个URL中加入一个URL,你需要对它进行URL编码。如果你想在原始版本中粘贴一个并承担后果,只需使用app.get('/s/*'...,然后用req.url.slice(3)手动解析网址。但是听到我知道并相信我以后,URL编码是通过内置于JavaScript的encodeURIComponent并在浏览器和node.js中工作的正确方法。