【发布时间】:2021-09-10 21:36:54
【问题描述】:
我希望 react 应用程序能够将 cookie 存储在浏览器的 cookie 存储中。
我需要在 axios 的标头中发送 withCredentials: true 。
axios.defaults.withCredentials = true
export const login = (email, password) => {
return axios({
method: "POST",
url: "https://api.*****.**/login",
data: {
email: email,
password: password,
},
});
};
在后端我使用 ExpressJS cors 中间件
const cors = require("cors");
const corsOptions = {
credentials: true,
};
app.use(cors(corsOptions));
在使用 axios 从 react 发出登录请求时,我收到错误:
Access to XMLHttpRequest at 'https://api.*****.**/login' from origin 'http://localhost:3000' has been blocked by CORS policy:
Request header field content-type is not allowed by Access-Control-Allow-Headers in preflight response.
【问题讨论】:
-
您是否尝试在服务器端添加源?这是文档reference。
-
@LuisPauloPinto origin 它默认为“*”
-
是的,但是尝试设置明确的
origin: 'http://localhost:3000'看看你是否继续得到它。这是一个开始。 -
@LuisPauloPinto 在来到 stackoverflow 询问之前已经尝试过了
标签: node.js reactjs express axios cors