амперсанд (&) заменен значением% 26 в файлах cookie - PullRequest
2 голосов
/ 22 сентября 2019

ampersand(&) заменено значением% 26.

Я установил значение cookie TEST & 123 & 223 в коде, но в браузере значение cookie заменено на TEST% 26123% 26223.

Я пытаюсь установить значение cookie в угловом коде.Я использовал стороннюю библиотеку https://www.npmjs.com/package/ngx-cookie-service.

Есть ли способ сообщить браузеру, не декодировать строковое значение в куки?

Ответы [ 2 ]

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

Браузер не имеет никакого отношения к вашей проблеме: TEST% 26123% 26223 является закодированным значением.Используемая вами сторонняя библиотека кодирует значение вашего файла cookie.

    let cookieString: string = encodeURIComponent( name ) + '=' + encodeURIComponent( value ) + ';';

(извлечено из репозитория библиотеки github: https://github.com/7leads/ngx-cookie-service/blob/master/lib/cookie-service/cookie.service.ts)

Кодирование значения файла cookie не является плохимвещь, на самом деле рекомендуется: Должны ли значения cookie быть закодированы в URL? Если вы хотите получить исходное значение, вам нужно его декодировать (используемая вами библиотека декодирует значение cookie в функции get).

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

Я думаю, вы должны закодировать свои данные перед их сохранением (в JavaScript это будет encodeURI('&'), однако, если вы используете какой-то другой язык на вашем сервере, это может быть другая команда, но идея остается прежней).

Затем вы должны декодировать cookie (decodeURI(string)) при чтении значения.

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