Gmail позволяет добавлять дополнительные материалы в конце письма на тот же адрес, даже если электронная почта уже используется. Вот так:
random. email+23287@gmail.com
Мы иногда используем это для тестирования. К сожалению, сейчас, когда я использую этот вид электронной почты для навигации, я получаю бесконечное значение l oop от того, что я считаю встроенным кодировщиком URI для router.navigate()
, вызванного символом +
Я проверил другие специальные символы и пришел к выводу, что это может быть случай с этим примером:
gotoconfirmationpage() {
this.router.navigate(['/confirmation', '%@gmail.com']);
}
и маршрутизатор выглядит так:
{
path: 'confirmation/:email',
component: ConfirmationComponent
},
Я также пробовал предварительное кодирование до навигации, но тоже самое. Похоже, что для любого закодированного символа, который является %
, а также для других, таких как #
, &
и т. Д., После навигации вы получите что-то вроде этого:
![enter image description here](https://i.stack.imgur.com/YmpAH.png)
и ваша история выглядит примерно так ...
![enter image description here](https://i.stack.imgur.com/ROjOb.png)
Я не эксперт, но Я почти уверен, что результат кодирования для символа %
равен %25
, и похоже, что он закодирован, а затем навигация снова видит его и говорит: «О, посмотрите еще один!» и затем мы получаем %25252525252525252525...
до бесконечности.
Я проверил страницу разработки для navigation()
, и похоже, что это может быть существующая проблема, но я еще не нашел решения. Если у кого-то есть какая-либо информация или решение, это будет с благодарностью.