Я могу попасть в эту конечную точку, http://catfacts-api.appspot.com/api/facts?number=99
через Postman и он возвращает JSON
Кроме того, я использую приложение create-react-app и хотел бы избежать настройки любой конфигурации сервера.
В моем клиентском коде я пытаюсь использовать fetch
, чтобы сделать то же самое, но получаю ошибку:
Нет заголовка "Access-Control-Allow-Origin" присутствует в запрошенном ресурс. Origin 'http://localhost:3000' поэтому не допускается доступ. Если непрозрачный ответ отвечает вашим потребностям, установите запрос режим "no-cors" для извлечения ресурса с отключенным CORS.
Итак, я пытаюсь передать объект, к моему Fetch, который отключит CORS, например:
fetch('http://catfacts-api.appspot.com/api/facts?number=99', { mode: 'no-cors'})
.then(blob => blob.json())
.then(data => {
console.table(data);
return data;
})
.catch(e => {
console.log(e);
return e;
});
Интересно, что ошибка, которую я получаю, на самом деле является синтаксической ошибкой с этой функцией. Я не уверен, что мой фактический fetch
сломан, потому что когда я удаляю объект {mode: 'no-cors'} и поставляю его с другим URL-адресом, он отлично работает.
Я также попытался передать объект { mode: 'opaque'}
, но это возвращает исходную ошибку сверху.
Я верю всему, что мне нужно сделать, это отключить CORS.. Что мне не хватает?