Консумирам API, използвайки fetch, но получавам 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