角度返回 URL 是错误的



在我的 Angular 5 应用程序中,我正在做这样的事情

this.returnUrl = this.route.snapshot.queryParams['returnUrl']

当用户访问路由但未登录时,我正在使用它。他被重定向到登录页面,登录后他应该回到这个返回网址。

问题是,http://localhost:4200/schedule?selectedDate=2018-01-29 访问此路由时,返回 url 变为:

http://localhost:4200/login?returnUrl=%2Fschedule%3FselectedDate%3D2018-01-29 成功登录后,应用程序会尝试转到 http://localhost:4200/%2Fschedule%3FselectedDate%3D2018-01-29 URL,但由于无法识别路径,因此会引发 404 错误。

知道如何阻止 Angular 将我的网址更改为这种格式吗?我假设它会选择正确的 URL。

我设法以某种方式解决此问题,而不是使用

this.router.navigate(this.returnUrl) 

我用了

this.router.navigateByUrl(this.returnUrl);

我认为您可以像这样简单地添加网址<button class="btn btn-md btn-danger pull-right" routerLink="../../">cancel</button>否则调用点击事件

使用这个。

this.returnUrl = decodeURIComponent(this.route.snapshot.queryParams['returnUrl']);

相关内容

  • 没有找到相关文章

最新更新