Я использую API с помощью выборки, но получаю ошибку CORS. Я пробовал использовать несколько заголовков, но не понимаю, в чем проблема.
Я не владелец API, поэтому я не мог его изменить, но проверяю ответ, который он возвращает access-control-allow-origin
.
Ниже приведен мой метод запроса:
export const execPOST = (url, body) => {
return fetch(url, {
method: "POST",
headers: {
"Access-Control-Allow-Origin": "*",
"Content-Type": "application/json"
},
body: JSON.stringify(body)
});
};
Ответ такой:
Request URL: http://api
Request Method: OPTIONS
Status Code: 405 Method Not Allowed
Remote Address: ip
Referrer Policy: no-referrer-when-downgrade
Response Headers:
Access-Control-Allow-Origin: *
Разве этого ответа недостаточно, чтобы разрешить мой запрос?
ошибка консоли:
ОПЦИИ
http://api
net :: ERR_ABORTED 405 (метод не разрешен) Доступ к выборке в'http://api'
из источника'http://localhost:3000'
заблокирован политикой CORS: ответ на предполетный запрос не проходит проверку контроля доступа: он не имеет статуса HTTP ok.
У меня это работает (пока я разрабатываю) с помощью "https://cors-anywhere.herokuapp.com/"
, но я не думаю, что мне следует использовать это для производственной среды.
Я нашел много материала об этой проблеме, но ничего, что работало бы, кроме реализации бэкэнда для выполнения запроса или использования чего-то еще в качестве прокси для выполнения запроса и так далее ...
body
, нет возможности пользователю GET - person skyboyer   schedule 10.05.2019headers
и отправьте данные в виде строки параметров вместо json. Если сервер не поддерживает это, вам придется использовать свой собственный сервер для отправки запроса. - person Kevin B   schedule 10.05.2019application/json
- person Victor Bello   schedule 10.05.2019