如何在router.get()方法中传递url作为参数?

时间:2016-05-16 15:27:01

标签: javascript node.js express routes

我正在尝试将网址http://localhost:3000/new/https://www.example.com传递给router.get('/new/:url', function..)但不是在req.params.url中获取网址(https://www.example.com),此链接http://localhost:3000/new/https://www.example.com会导致404 Not Found错误。虽然其他参数工作正常,例如。 http://localhost:3000/new/www.example.com

代码:

var router = express.Router();
router.get('/new/:url', function(req, res...);

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

当您尝试将正常的未编码URL附加为查询参数时,会导致新路径

http://localhost:3000/new/https://www.example.com 成为全新的URl,可能无法在您的服务器中使用

传递URL的一种方法是编码为@Juan Mendes http://localhost:3000/new/https%3A%2F%2Fwww.example.com

但是,有一种解决方法,使用通配符,例如" / new / *" 。吊杆