. Net Core 3.1 API, Angular 9, неправильная кодировка заголовка Application-Error - PullRequest
0 голосов
/ 05 марта 2020

Я устанавливаю заголовок Application-Error в. Net Core 3.1 API следующим образом:

response.Headers.Add("Application-Error", message);

В инструментах разработчика браузера сообщение выглядит великолепно:

enter image description here

но когда я получаю это сообщение в Angular, национальные символы плохие:

if(error instanceof HttpErrorResponse){
  const applicationError = error.headers.get('Application-Error');
  console.log("msg: ", applicationError)
}

enter image description here

Я не знаю, есть ли ошибка кодирования на стороне ядра Net или на стороне Angular.

Не могли бы вы дать мне подсказку?

1 Ответ

0 голосов
/ 06 марта 2020

Я решил проблему с помощью предоставленной ссылки Xing Zou.

Вкл. Net Сторона ядра Мне нужно изменить код так:

response.Headers.Add("Application-Error", WebUtility.UrlEncode(message));

Вкл. Angular сторона, мне нужно изменить код к этому:

let decoded = decodeURIComponent(applicationError).replace(/\+/g," ");
...