[英]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.