Uncaught (в обещании): ошибка: невозможно сопоставить ни один маршрут - PullRequest
0 голосов
/ 19 февраля 2019

Я использую Identity Server со своим приложением Angular, и у меня есть компонент, на который я перенаправляю после входа. Там я проверяю в локальном хранилище любой сохраненный маршрут, затем перехожу к этому маршруту.

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

Uncaught (in promise): Error: Cannot match any routes

И вот такой маршрут я получаю:

URL Segment: 'home/terminal-transactions%3FtoDate%3DWed%2520Feb%252020%25202019&fromDate%3D2017-01-01&startIndex%3D0&pageSize%3D20'

Это мой угловой код, чтобы получить URL перенаправления из localalstorage и затем перейти к нему.

const redirectUrl = localStorage.getItem('redirect_url');
localStorage.removeItem('redirect_url');
   if (redirectUrl) {

       let urlArr: string[];
       const params: {} = {};

       if (redirectUrl.indexOf('?') > -1) { // check for query params
         urlArr = redirectUrl.split('?'); // split url on ?
         let paramsString: any  = urlArr[urlArr.length - 1]; // get the string after the ?
         paramsString = paramsString.split('&'); // split again with & to get all the parameters

         paramsString.forEach(element => { // Loop to get the key and value of params
         const elemArr = element.split('='); // split with =
         params[elemArr[0]] = elemArr[elemArr.length - 1]; // assign to params object the key and value
            });
         this.router.navigateByUrl(redirectUrl , {queryParams : params});
          }
          this.router.navigate([redirectUrl]);

       } else {
          this.router.navigate(['/home/dashboard']);
     }
...