Итак, у меня есть приложение, которое я делаю запрос PATCH на мой API. Когда я делаю свой запрос, он завершается с
Access to fetch at 'https://localhost:3001/wallets/freshtest@test.com' from origin 'https://localhost:3002' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
Однако, если я выполняю запрос GET, эта проблема не возникает. Вот оба запроса
Рабочая выборка
const promisofData = fetch(url).then(r=>r.json()).then(data => {
return data[0].balance;
});
Не рабочая выборка
fetch(url, {
method: 'PATCH',
mode: 'cors',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify(iMoney)
});
В моем API у меня есть удостоверился, что любой источник должен быть разрешен
app.use((req, res, next)=>{
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers","*");
if(req.method === 'OPTIONS'){
res.header('Access-Control-Allow-Methods', 'POST, GET, PATCH');
return res.status(200).json({});
}
next();
});
Я пробовал несколько разных режимов в неработающей выборке, но я пытаюсь понять, почему запрос GET будет работать, но запрос PATCH не будет выполнен?
Обновление правки
Итак, я попробовал тот же запрос и использовал Ax ios вместо Fetch, чтобы выполнить мой запрос, и он работал отлично. При работе с fetch я имел в виду https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch и в нем указываются различные доступные опции. Если я предоставлю 1 вариант запроса, требуются ли остальные?