Угловой обратный URL неверен - PullRequest
0 голосов
/ 13 июня 2018

В моем приложении Angular 5 я делаю что-то вроде этого в

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

Я использую это, когда пользовательполучает доступ к маршруту, но он не вошел в систему. Он перенаправляется на страницу входа в систему, и после входа в систему он должен вернуться к этому обратному URL.

Проблема в том, что http://localhost:4200/schedule?selectedDate=2018-01-29 при доступе к этому маршруту, обратный URL становится:

http://localhost:4200/login?returnUrl=%2Fschedule%3FselectedDate%3D2018-01-29, и после успешного входа приложение пытается перейти кURL http://localhost:4200/%2Fschedule%3FselectedDate%3D2018-01-29, но он выдает ошибку 404. Поскольку он не распознает путь.

Есть идеи, как остановить Angular, изменив мой URL-адрес на этот формат?Я предполагал, что он выберет правильный URL.

Ответы [ 3 ]

0 голосов
/ 13 июня 2018

Используйте это.

this.returnUrl = decodeURIComponent(this.route.snapshot.queryParams['returnUrl']);
0 голосов
/ 13 июня 2018

Мне удалось как-то исправить это, вместо использования

this.router.navigate(this.returnUrl) 

Я использовал

this.router.navigateByUrl(this.returnUrl);
0 голосов
/ 13 июня 2018

я думаю, что вы можете просто добавить URL-адрес, как это <button class="btn btn-md btn-danger pull-right" routerLink="../../">cancel</button>, или же вызвать событие клика

...