Angular - '==' не включен в качестве параметра URL - PullRequest
0 голосов
/ 01 апреля 2019

У меня есть запрос этого формата:

http://localhost:2534/members/all/33/AlzdpoiasklnlasEE==

но, когда я отправляю запрос на мою конечную точку API, == всегда отсутствует.

Итак, значение параметра будет просто AlzdpoiasklnlasEE.

Я что-то здесь упускаю?

Ответы [ 2 ]

0 голосов
/ 01 апреля 2019

Если вы пытаетесь отправить его как часть URL, это должно быть закодировано с использованием encodeURIComponent, поскольку это зарезервированный символ. EX:

encodeURIComponent('AlzdpoiasklnlasEE==') // will return "AlzdpoiasklnlasEE%3D%3D"

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

Вы можете использовать decodeURIComponent на сервере, чтобы изменить кодировку URL строки и получить нормальное текстовое значение.

Символы, которые зарезервированы в компоненте запроса и / или имеют специальное значение в URI / URL:

 reserved    = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ","

Вышеуказанный класс «зарезервированного» синтаксиса относится к тем символам, которые разрешены в URI, но которые не могут быть разрешены в конкретном компоненте общего синтаксиса URI. C хакеры в «зарезервированном» наборе не зарезервированы во всех контекстах. Например, имя хоста может содержать необязательное имя пользователя, поэтому это может быть что-то вроде ftp://user@hostname/, где символ '@' имеет особое значение .

0 голосов
/ 01 апреля 2019

= является зарезервированным символом.

Дополнительная информация здесь:

...