我正在使用 Express Router,我試圖從 params URL 獲取一些資訊,但我無法使其正常作業,因為它總是向我回傳 404。
這是我試圖呼叫的 URL
http://localhost:8080/api/v1/contr/method?param1=value1¶m2=param2
在我的快遞路由器中,我有:
this.router.get("/contr/method", JWT.authenticateJWT, ContrController.method.bind(ContrController));
我總是得到
finalhandler default 404 2m
如果我發送沒有引數的請求,應用程式會按預期作業:
http://localhost:8080/api/v1/contr/method
uj5u.com熱心網友回復:
如果您使用 URL 本身作為引數構建 URL,則需要呼叫encodeURIComponent()嵌入的 URL:
let url = "http://localhost:8080/api/v1/contr/method?url=" encodeURIComponent(otherUrl);
這以一種在 URL 決議期間不會與 URL 路徑混淆的方式對引數進行編碼。見檔案上encodeURIComponent()獲取更多資訊。
您需要encodeURIComponent()在包含特殊字符的任何引數上使用URL 決議。然后它們將以十六進制編碼,例如/這將導致它們與任何 URL 決議不匹配。而且,Express 中的 URL 決議已經自動為您解碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/378989.html
上一篇:反應onClick不觸發組件
下一篇:快遞不加載圖片
