Не удалось получить данные из приложения Heroku.Ошибка CORS - PullRequest
0 голосов
/ 25 июня 2018

Я боролся за выборку данных из моего приложения heroku в Redux и столкнулся с парой ошибок CORS:

Failed to load https://app-name.herokuapp.com/users: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

и второй ошибкой

localhost/:1 Uncaught (in promise) TypeError: Failed to fetch

Я создал приложение Heroku из Express, и в моем коде ответа у меня есть

res.setHeader('Access-Control-Allow-Origin', 'http://localhost:3000');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
res.setHeader('Access-Control-Allow-Credentials', true);

Моя функция выборки в Redux выглядит как

const url = "https://app-name.herokuapp.com/users";
return fetch(url, {
 method: 'GET',
 mode: 'cors',
 headers: { 'Content-Type': 'text' }
})

1 Ответ

0 голосов
/ 26 июня 2018

В настройках вашего cors у вас есть http://localhost:3000, но ваш сервер работает на https://app -name.herokuapp.com .

...