繁体   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