@Evgeny_13

Как правильно использовать fetch чтобы получить правильный json?

добрый день.

Возникла такая вот ситуация.

Я обращаюсь по поему эндпоинту(rest) чтобы получить список моих данных.

Вот мой код на клиенте, который выполняет получения данных
5d6c1d9fc4a6d582914480.png

Когда делаю запрос, то в консоле браузера ничего не пишется, а в Network статус 200 и полученный ответ с сервера.

Вывожу в консоль "полученные" данные и получаю пустой массив объектов

5d6c1e775b0d6451015648.png

Если же в then буду получать res.json() то получаю такую вот ошибку

5d6c1f3bdfe24817218018.png

Здесь я понимаю, что в fetch мы должны обработать пустой респонс?

Может кто сталкивался с таким затруднением и может помочь разобраться, как все же правильно использовать fetch?

Заранее огромное спасибо!
  • Вопрос задан
  • 1837 просмотров
Пригласить эксперта
Ответы на вопрос 1
hzzzzl
@hzzzzl
эт самое,

You need to remove the mode: 'no-cors' setting from your request. That mode: 'no-cors' is exactly the cause of the problem you’re having.

A mode: 'no-cors' request makes the response type opaque. The console-log snippet in the question clearly shows that. And opaque means your frontend JavaScript code can’t see the response body or headers.


https://stackoverflow.com/a/43319482

fetch('http://....')
  .then(res => res.json())
  .then(res => {
    this.setState({loaded: true, items: res.items})
  })
  .catch(err => {
    console.log('OH SHIT:', err)
    this.setState({loadError: true})
  })
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы