我有這條路線/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