2

我正在使用 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/都被视为参数,包括斜线。

谢谢

4

1 回答 1

6

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

于 2013-07-02T05:18:23.983 回答