В URL `%` заменяется на `% 25` при использовании` queryParams` при маршрутизации в Angular - PullRequest
0 голосов
/ 26 мая 2018

Я хотел перейти по URL-адресу, используя queryParams при маршрутизации в Angular.

<a routerLink='/master' [queryParams]="{query:'%US',mode:'text'}"><li (click)="search()">Search</li></a>

URL-адрес, по которому я хотел перейти:

http://localhost:4200/master?query=%US&mode=text

Но когда я нажимаю напоиск по нему ведет меня к:

http://localhost:4200/master?query=%25US&mode=text

Я не знаю, почему 25 добавляется после символа %.Может кто-нибудь сказать мне более чистый способ правильно ориентироваться.

1 Ответ

0 голосов
/ 26 мая 2018

В URL-адресе знак процента имеет особое значение и используется для кодирования специальных символов.Например, = кодируется как% 3D.

Некоторые специальные символы не допускаются в URL.Если вы хотите использовать их в URL, вы должны кодировать их, используя функцию javascript encodeURIComponent.% 25 является фактически закодированной версией символа%.Здесь браузер сам кодирует их.

При попытке получить queryParams из URL, вы можете декодировать их, используя decodeURIComponent.

Для получения дополнительной информации проверьте: https://support.microsoft.com/en-in/help/969869/certain-special-characters-are-not-allowed-in-the-url-entered-into-the

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent

...