Разрешить кодировку строки с помощью angular

Я использую ngx-cookie-service стороннюю службу cookie с angular 7. Я пытаюсь установить строку cookie, например id = 111 & name = угловой, но angular измените ее на id% 3D111% 26name% 3Dangular.

import { CookieService } from 'ngx-cookie-service';
export class CookieComponent{
   constructor(private cookieService: CookieService) {
      this.setCookie();
   }
   setCookies() {
      let cookieStr: string = "id=111&name=angular";
      this.cookieService.set('cookieName', cookieStr);
      //this set cookieName=id%3D111%26name%3Dangular in browser
   }
   getCookies() {
      let cookie = this.userService.cookieService.get('cookieName');
      //this returns cookieName=id=111&name=angular
   }
}

но мне нужно получить cookie из бэкенда, но C# не декодирует его автоматически, а angular делает.

теперь, как пропустить эту угловую кодировку по умолчанию для этой строки cookie

Вы можете нам показать? Как вы установили cookie и как вы получаете значение cookie и результат вывода? Расскажите подробнее.

Jitendra G2 02.01.2019 06:42

попробуйте установить cookie с помощью encodeURI("id=111&name=angular")

Tushar Walzade 02.01.2019 06:54

вы имеете в виду вот так this.cookieService.set ('cookieName', encodeURI (cookieStr)); это не работает

Faisal 02.01.2019 06:58

@Faisal Вы хотите, чтобы cookieName значение "id = 111 & name = angular" вместо "id% 3D111% 26GUID% 3Dangular" в браузере?

Jitendra G2 02.01.2019 07:06

да именно то, что я хочу

Faisal 02.01.2019 07:07

Что вы используете для внутреннего кода? Это веб-API C#?

Jitendra G2 02.01.2019 07:45

C# но я не могу там изменить, я хочу сделать его читаемым на C# с помощью angular

Faisal 02.01.2019 07:47
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
7
582
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

ngx-cookie-service не предоставляет возможность удаления функции кодирования / декодирования.

Как вы можете видеть на снимке экрана ниже, каждый запрос имя cookie и значение cookie будет преобразован в закодированную строку.

cookie.service.js (node_modules / ngx-cookie-сервис / cookie-сервис)

Есть два способа использовать:

1-й, Я не рекомендую этот способ, но вы можете удалить метод encodeURIComponent.

      e.g. var cookieString = name + '=' + value + ';';

Во-вторых, вы можете использовать Веб-утилита для декодирования на поддерживаемой стороне (WebAPI).

      e.g. string cookieString = WebUtility.UrlDecode("id%3D111%26name%3Dangular");

но если отредактировать код, как ваш первый вариант, будет ли это работать на сервере?

Faisal 02.01.2019 08:51

Вы пробовали? Если вы опубликуете свой код в локальном IIS, он будет работать.

Jitendra G2 02.01.2019 09:01

на localhost это определенно сработает, но если я опубликую это на лазурном сервере, будут ли работать изменения в пакете? Я думаю, что нет, потому что мы никогда не загружаем файлы этих узловых модулей. как заставить его работать и на сервере?

Faisal 02.01.2019 09:03

Извините, но я ничего не знаю о хостинге Azure. Вы должны задать этот вопрос с помощью тега хостинга Azure, чтобы специалисты могли связаться с вами.

Jitendra G2 02.01.2019 09:06

ngx-cookie теперь имеет флаг опции для использования незакодированных символов, добавьте storeUnencoded: true к опциям. Вот пример: this._cookieService.put ('cookiekey', '[email protected]', {'expires': expireDate, storeUnencoded: true});

swestfall 15.01.2019 17:26

@swestfall Да, вы правы, но это ngx-cookie. Спрашивающий может использовать это было бы здорово, но, согласно его вопросу, он использовал ngx-cookie-service, а это отличается от ngx-cookie.

Jitendra G2 16.01.2019 06:00

Другие вопросы по теме