我有这条路线/new/:url
。现在,当我提出/new/https://www.google.com
的请求时,我得到Cannot GET /new/https://www.google.com
作为回应。我期望的是得到字符串https://www.google.com
。我读了关于编码URL的这个答案URL component encoding in Node.js,但是如果对路由/new/:url
发出GET
请求,我怎么能这样做呢?这是我的路线代码如何将URL作为参数传递给另一个URL?
app.get('/new/:url',(req,res) => {
const url = encodeURIComponent(req.params.url);
console.log(url);
res.json({
url
});
});
这有效。但我不明白为什么我的路由处理程序不起作用?这种方法也不会对URL进行编码,那么为什么它不会将'https:// www.google.com'中的'/'作为url的单独部分并打破响应。 –
这可能会起作用,但每个参数都应该在作为url组件进行传输时进行编码。 – Wartoshika