我正在使用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/
之后的所有内容视为包含斜线的参数。
由于
答案 0 :(得分:6)
呃,如果你想在另一个URL中加入一个URL,你需要对它进行URL编码。如果你想在原始版本中粘贴一个并承担后果,只需使用app.get('/s/*'...
,然后用req.url.slice(3)
手动解析网址。但是听到我知道并相信我以后,URL编码是通过内置于JavaScript的encodeURIComponent
并在浏览器和node.js中工作的正确方法。