Safari - вкладка WebInspector Network. Произошла ошибка при загрузке ресурса.

Я вижу ошибку на изображении ниже в Safari Developer Tools (вкладка "Сеть") для XHR/Fetch. Тело ответа не видно. Всегда выдается красный текст "Произошла ошибка при загрузке ресурса". Сначала я думал, что devtool не будет поддерживать fetch в отличие от XHR. Но Safari 12 поддерживает это.

example

ОС: MacOS High Sierra Браузер: Safari 12 & Technology Preview 66

Это как-то связано с заголовками ответа? XSS или что-то еще? PS: то же самое тело ответа видно в Chrome Dev Tool.

Ответы

Ответ 1

Справа от строки меню с предварительным просмотром есть response со стрелкой рядом с ним, щелкните по нему и переключите его на JSON что должно сработать.

Ответ 2

Сообщение об ошибке браузера описывает требования для успешного выполнения этого запроса.

Сервер должен предоставить доступ к запрошенному ресурсу вашему удаленному домену, отправив заголовок ответа Access-Control-Allow-Origin.

В Safari 12 выберите строку на вкладке сети. Ответ будет отображаться в основной области. Над ним будет несколько вкладок. Выберите вкладку "Заголовки" и посмотрите в части запроса отображаемых данных для получения некоторой информации о запросе. Подробнее о данных запроса смотрите в разделе "Данные запроса". Если применимо, там будет маленькая стрелка, которую вы можете нажать, чтобы увидеть полное содержание запроса.

Ответ 3

Мир не готов к fetch().

Чтобы решить эту проблему, я легко перешел из fetch() в axios.

  • body стало data
  • json декодируется автоматически
  • credentials стали с credentials withCredentials

Я также добавил эту функцию, чтобы определить, был ли ответ в ok:

function ok(resp) {
  return resp && resp.status && resp.status >= 200 && resp.status < 400
}

Это было все, что мне нужно было отрегулировать в моем случае.