Парсер ответов angular 7 не работает должным образом

эй, я обновил свой angular с 4.4 до последней версии 7 теперь, после множества ошибок, я наконец-то запустил службу у меня есть этот парсер, который анализирует ответ на вход и возвращает его но он ничего не возвращает, просто пустое тело как я могу это исправить?

Служба входа

 this.http.post("/auth/login", JSON.stringify(payload), {}).subscribe(
    (resp: HttpResponse<any>) => {
      let body = this.outputParser(resp); //it is returning null
      this.sessionService.setAccessToken(body.AccessToken);
      this.sessionService.setUser(body.User);
    },

парсер вывода

private outputParser(res: HttpResponse<any>) {
let responseText: any = res;
if (!responseText) {
  return null;
}
try {
  return JSON.parse(responseText);
} catch (e) {
  return null;
 }
}

и да, я написал выходной парсер перед входом в систему

Как решить эту проблему? Спасибо

Для ответа HttpClient синтаксический анализ не требуется.

khush 22.05.2019 12:18
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Сравнение структур данных: Массивы и объекты в Javascript
Сравнение структур данных: Массивы и объекты в Javascript
Итак, вы изучили основы JavaScript и хотите перейти к изучению структур данных. Мотивация для изучения/понимания Структур данных может быть разной,...
Создание собственной системы электронной коммерции на базе Keystone.js - настройка среды и базовые модели
Создание собственной системы электронной коммерции на базе Keystone.js - настройка среды и базовые модели
Прошлая статья была первой из цикла статей о создании системы электронной коммерции с использованием Keystone.js, и она была посвящена главным образом...
Приложение для отслеживания бюджета на React js для начинающих
Приложение для отслеживания бюджета на React js для начинающих
Обучение на практике - это проверенная тема для достижения успеха в любой области. Если вы знаете контекст фразы "Практика делает человека...
Стоит ли использовать React в 2022 году?
Стоит ли использовать React в 2022 году?
В 2022 году мы все слышим о трендах фронтенда (React, Vue), но мы не знаем, почему мы должны использовать эти фреймворки, когда их использовать, а...
0
1
47
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

В Angular 7 вы используете HTTP-клиент, поэтому вам не нужно ничего анализировать.

Попробуй это:

let body = resp

Это должно быть более чистым способом для вашего кода. Вам не нужно анализировать в json, потому что по умолчанию угловой формат возврата json

this.http.post("/auth/login", JSON.stringify(payload), {}).subscribe(
    (resp: HttpResponse<any>) => {
      this.sessionService.setAccessToken(resp.AccessToken);
      this.sessionService.setUser(resp.User);
    }

Ваше здоровье.

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