Как передать параметры запроса с вопросительным знаком с другого веб-сайта в angular 6 spa - PullRequest
0 голосов
/ 22 сентября 2018

У меня есть 2 веб-приложения A и B .Веб-приложение B является базой Angular 6.

В веб-приложении A оно получило ссылку, которая ссылается на B со строкой запроса, например http://B/receipt?referencenumber=11111&title=test&description=sdfsd.

В веб-приложении B я определил маршрут, как показано ниже.

{ path: 'receipt/:referencenumber/:title/:description', component: ReceiptComponent},
{ path: '', component: HomeComponent, pathMatch: 'full'},
{ path: 'home', component: HomeComponent},
{ path: 'error', component: ErrorComponent },
{ path: '**', component: ErrorComponent, data: { error: 404 } }

Выпуск :

, если веб-приложение A, используйте ссылку http://B/receipt?referencenumber=11111&title=test&description=sdfsd,, она будет перенаправлена ​​на страницу ошибки 404 в веб-приложении B.

Кто-нибудь получил идею здесь?Я попытался изменить маршрут в веб-приложении на {path: 'receive /: referencenumber', component: ReceiptComponent} и изменить линк в веб-приложении A на http://B/receipt?referencenumber=11111,, он все еще перенаправляется на 404.

Кроме того, я пробовал маршрут ниже с дополнительными параметрами запроса, он все еще не работает.(Ссылка: Отправка данных по путям маршрутизации в Angular ) {путь: «квитанция», компонент: ReceiptComponent}

Обновление

После удаленияНа странице ошибки я обнаружил, что URL-адрес автоматически кодируется, он становится http://B/receipt%3Freferencenumber%3D123123 Не знаю, почему также?

Ответы [ 2 ]

0 голосов
/ 23 сентября 2018

Наконец, найдите проблему.один из моих Auth-перехватчиков, использующих navigate (), вызывает проблему, вместо этого он должен использовать navigateByUrl ().

0 голосов
/ 22 сентября 2018

Вы смешали url и queryParams

{ path: 'receipt/:referencenumber/:title/:description', component: ReceiptComponent},

, чтобы URL соответствовал как https://yoursite.com/receipt/dynamicNumber/dynamicTitle/dynamicDescription

дляполучите этот URL http://B/receipt?referencenumber=11111&title=test&description=sdfsd на ReceiptComponent, просто удалите dynamic части после receipt:

{ path: 'receipt', component: ReceiptComponent}

, чтобы получить queryParams в компонентеиспользуйте this.route.queryParams через subscriber или this.route.spanshot.queryParams через direct имя свойства

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...