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