在我的快遞應用程序,我有一個路由器聽api/shorten/
:如何在express中傳遞一個url作爲「url參數」?
router.get('api/shorten/:longUrl', function(req, res, next) {
console.log(req.params.longUrl);
}
當我使用類似:
http://localhost:3000/api/shorten/www.udemy.com
我得到www.udemy.com
這是我的期望。
但是當我使用:
http://localhost:3000/api/shorten/http://www.udemy.com
我得到一個404錯誤。
我想獲得http://www.udemy.com
當我訪問req.params.parameter
。
您必須將url作爲正文或至少在查詢參數中傳遞,而不是附加到原始url本身。您得到的錯誤是因爲瀏覽器會將其過濾掉 – binariedMe
您必須對附加的URL進行編碼,因爲像':'這樣的字符除了在協議中是不允許的,所以不能在URL的路徑中使用。 – jfriend00
@binariedMe - 這是不正確的。如果編碼正確,它可以在路徑中。 – jfriend00