角度导航也编码?和 = 的 queryParams

西蒙米克尔森

在 Angular 中,我导航到一个页面并希望给它一个 returnUrl 作为参数。我是这样做的:

this.router.navigate(['/validation'], { queryParams: { returnUrl: state.url }});

但这会导致网址为:

https://myhost/myapp/validation%3FreturnUrl%3D%252FmyUrl

我期望它在的地方

https://myhost/myapp/validation?returnUrl=%2FmyUrl

当我阅读文档时,URL 应该完全按照我的预期进行编码:值应该被编码,但是 ? 完好无损。

错误编码的 URL 导致我的应用程序找不到 /validation URL 并将导航发送到 Angulars 404 处理。

知道有什么问题吗?

阿普尔瓦·奇卡拉

是的,Angular 可能正在对 URL 组件进行编码,但您可以decodeURIComponent在需要时使用它:

const url = "https://myhost/myapp/validation%3FreturnUrl%3D%252FmyUrl";
const decodeURL = decodeURIComponent(url);
console.log(decodeURL)

下面的代码将为您提供处理 URL 的方法/属性,即 URL.searchParams.get('returnUrl')

 const URL = new URL(decodeURL);
 console.log(URL);

它将按预期工作并从中获取参数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

导航后如何删除queryParams 角度的

灰烬:链接和transer queryParams

角度-结合参数和queryParams可观察对象

使用Spock和Java Spark测试QueryParams

Angular 12:将 Queryparams 转换为编码的 url

Angular Router.navigate通过queryParams导航到子路由

在Angular 2中同时订阅路由参数和queryParams

Angular 2中的queryParams正在编码,如何防止这种情况发生?

Angular 2 - 如何在导航到另一个组件时等待 observable 和 queryParams 时显示微调器?

何时使用pathParams或QueryParams

Servant QueryParams解析错误

MongoDB 从 queryparams 中查找

如何在不重新加载页面的情况下以角度 2 设置或删除当前路线中的 queryParams

即使queryParams名称相同,如何合并或添加queryParams

在Angular路由中实现queryParams

Istio queryParams 总是返回真值

为什么queryParams为空

从queryParams angular 2删除参数

使用Jasmine测试Angular queryParams

startdate 将 queryparams 作为字符串传递为 07/21/2020 并将 dayCount 作为整数 30。在骡子 4 中,要从 startdate 和 dayCount 开始结束日期

使用queryParams重定向到URL

Angular 7-使用queryParams定义路由

只从 angular queryParams 中获取最终值

更改滑块范围时queryParams刷新模型

Django接受QueryParams(必须是可调用的错误)

如何在 Resolver Angular 中访问 queryParams

如何使用Typescript在queryparams中获取对象?

灰烬:在Mixin中以编程方式设置queryParams

Ember Route queryParams默认值