сообщение об ошибке
Access to XMLHttpRequest at 'https://api.example.xyz/api/post' from origin 'https://app.example.xyz' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Это происходит только тогда, когда в отправленной форме есть файл
я уже использовал cors на сервере
app.options("*", cors());
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "*");
res.header("Access-Control-Allow-Headers", "*");
next();
});
и установите ax ios вот так
axios.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest";
axios.defaults.headers.common["Access-Control-Allow-Origin"] = "*";
и вот как отправили форму с редуксной отправкой
async function submit(e) {
e.preventDefault();
var form = new FormData(e.target);
await props
.dispatch(insert(form)) <--the insert function
.then(data => setNotification({ type: "success", ...data }))
.catch(error =>
setNotification({ type: "error", ...error.response.data })
);
}
функция вставки
export function insert(data) {
return dispatch => {
return new Promise((resolve, reject) => {
HTTP.post("/page", data)
.then(data => {
return resolve(data.data);
})
.catch(data => {
return reject(data);
});
});
};
}