GreyCrew
@GreyCrew
Full-stack developer

Как получить тело ответа, при ошибке?

Делаю post запрос к серверу, необходимо получить тело ошибки, чтоб правильно отобразить её пользователю.
fetch(URL, {
      method: 'post',
      headers: {
        "Content-type": "application/x-www-form-urlencoded; charset=UTF-8"
      },
      body: JSONToken
    })
    .then(function (data) {
      console.log('Request succeeded with JSON response', data);
    })
    .catch(function (error) {
      console.log(error);
    });
  • Вопрос задан
  • 313 просмотров
Пригласить эксперта
Ответы на вопрос 1
Lynn
@Lynn
nginx, js, css
Если вы про 4xx/5xx ошибки, то с точки зрения fetch это не ошибки и они точно так же доступны в then.

В ваш catch вы попадёте только при сетевой ошибке (нет сети, не работает DNS, неправильные заголовки авторизации и т.п.) и в этом случае никакого тела ошибки нет по определению.

см. https://developer.mozilla.org/en-US/docs/Web/API/F...
https://www.tjvantoll.com/2015/09/13/fetch-and-errors/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 22:03
3000 руб./за проект
23 нояб. 2024, в 21:53
30000 руб./за проект
23 нояб. 2024, в 21:49
1000 руб./в час