Angular return URL 是错误的
Angular return URL is wrong
在我的 Angular 5 应用程序中,我正在
做类似的事情
this.returnUrl = this.route.snapshot.queryParams['returnUrl']
当用户访问路由但未登录时,我正在使用它。他被重定向到登录页面,登录后他应该回到这个 return url。
问题是http://localhost:4200/schedule?selectedDate=2018-01-29访问这条路由时,returnurl变成:
http://localhost:4200/login?returnUrl=%2Fschedule%3FselectedDate%3D2018-01-29 and after the successful login, the application tries to go to the http://localhost:4200/%2Fschedule%3FselectedDate%3D2018-01-29 URL 但这会引发 404 错误,因为它无法识别路径。
知道如何停止 Angular 将我的 url 更改为这种格式吗?我假设它会选择正确的 URL.
我认为您可以像这样简单地添加 url <button class="btn btn-md btn-danger pull-right" routerLink="../../">cancel</button>
或者调用点击事件
使用这个。
this.returnUrl = decodeURIComponent(this.route.snapshot.queryParams['returnUrl']);
我设法以某种方式解决了这个问题,而不是使用
this.router.navigate(this.returnUrl)
我用了
this.router.navigateByUrl(this.returnUrl);
在我的 Angular 5 应用程序中,我正在
做类似的事情this.returnUrl = this.route.snapshot.queryParams['returnUrl']
当用户访问路由但未登录时,我正在使用它。他被重定向到登录页面,登录后他应该回到这个 return url。
问题是http://localhost:4200/schedule?selectedDate=2018-01-29访问这条路由时,returnurl变成:
http://localhost:4200/login?returnUrl=%2Fschedule%3FselectedDate%3D2018-01-29 and after the successful login, the application tries to go to the http://localhost:4200/%2Fschedule%3FselectedDate%3D2018-01-29 URL 但这会引发 404 错误,因为它无法识别路径。
知道如何停止 Angular 将我的 url 更改为这种格式吗?我假设它会选择正确的 URL.
我认为您可以像这样简单地添加 url <button class="btn btn-md btn-danger pull-right" routerLink="../../">cancel</button>
或者调用点击事件
使用这个。
this.returnUrl = decodeURIComponent(this.route.snapshot.queryParams['returnUrl']);
我设法以某种方式解决了这个问题,而不是使用
this.router.navigate(this.returnUrl)
我用了
this.router.navigateByUrl(this.returnUrl);