Angular HttpClient возвращает нулевое значение для нулевого ответа

Я перенес свой сервис Angular 4 со старого Http на новый HttpClient. Запрос, который возвращает простой ноль 0 в качестве ответа, возвращает наблюдаемое значение с null.

Запрос:

return this.httpClient.get(url, options)
  .do(res => console.log('service returns', res)) as Observable<number>;

будет консольный журнал null, но когда я открываю этот запрос в devtools> Network, я вижу, что сервер ответил 0.

Что я делаю не так?


person user776686    schedule 05.10.2017    source источник
comment
Вы не одиноки, у меня почти такая же проблема... Хотя с сообщением вместо получения я также получаю ноль, хотя инструменты сетевой отладки показывают, что серверная служба отправляет информацию в ответ как и ожидалось.   -  person Irv Lennert    schedule 21.11.2017
comment
то же самое здесь, он также возвращает ноль, если ответ ложный.   -  person nightElf91    schedule 01.01.2018


Ответы (1)


HttpClient по умолчанию ожидает объект JSON. Поскольку вы отвечаете только значением, оно возвращает значение как null (нет объекта json!)

Получил ответ здесь https://stackoverflow.com/a/46081328/3133446

Просто измените «responseType» на «text» при отправке запроса.

person nightElf91    schedule 01.01.2018