簡體   English   中英

Angular 4 正在使用哈希切割 queryParams

[英]Angular 4 is cutting queryParams with hash

我正在一個組件中工作,它接收一個帶有兩個值的 queryParam:

示例: http://localhost:4200/start/setup-employee?c=RCS8KR8J&email=test $#myaddress@gmail.com

問題是,如果我得到 queryParams,則參數“c”沒問題,但參數“email”只返回“test$”,因為 # 切斷了參數。 知道如何解決這個問題嗎? 我看到我可以得到片段中的其余部分,但也許是另一個很好的解決方案。 提前致以問候和感謝。

當在 url 中傳遞特殊的 ml 字符時,請在傳遞這樣的值之前使用 encodeURIComponent 函數

encodeURIComponent("test$#myaddress@gmail.com");

輸出

test%24%23myaddress%40gmail.com

並做決定然后使用該值

decodeURIComponent("test%24%23myaddress%40gmail.com");

輸出

test$#myaddress@gmail.com

這樣就不會發生查詢參數的切割。 通過這種方式,您可以隨時在查詢參數中使用所有特殊字符塊。

這不是 Angular 的錯。 這只是我們在執行 http 請求時如何處理 url 的一種行為,某些字符不能在 queryParam 值中使用,因為該字符已經具有保留含義。 嘗試將 # 替換為他的散列值,您可以在其中分配如下值: .replace('&', '%26'); .

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM