Joe*_*ski 2 node.js reactjs axios
我有带有 API 的服务器(Node.js + Express + CORS)(作为通过 JWT 的“登录”)和通过服务器的 API 登录的 React 客户端应用程序。需要通过axios发送cookies
\nwithCredentials = true ,\nRun Code Online (Sandbox Code Playgroud)\n但是如果服务器 + React 在 192.168.0.1 上运行并且客户端(Web 浏览器)从 192.168.0.!1 看到 - 这是下一个错误:
\n\'Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at `http://localhost:5002/api/login. (Reason: CORS header \xe2\x80\x98Access-Control-Allow-Origin\xe2\x80\x99 does not match \xe2\x80\x98http://localhost:3000\xe2\x80\x99).`\nRun Code Online (Sandbox Code Playgroud)\n注意: axios 不能withCredentials = true与服务器的 cors 很好地配合使用origin: \'*\',但在这种情况下客户端没有“auto coockies”。
我的问题:使用 auto coockies 创建 React axios 的正确方法是什么\n(通过
\nwithCredentials = true\nRun Code Online (Sandbox Code Playgroud)\n)对于互联网上的任何客户端?
\n\n我找到了与您的问题类似的答案:在此处输入链接描述
尽管“origin”必须是“*”值(字符串)而不是布尔值,但代码可以正常工作。
const corsConfig = {
origin: true,
credentials: true,
};
app.use(cors(corsConfig));
app.options('*', cors(corsConfig));
Run Code Online (Sandbox Code Playgroud)
“origin”选项应该是这样的(按文档):
const corsConfig = {
origin: '*',
credentials: true,
};
Run Code Online (Sandbox Code Playgroud)
Express 或 CORS 都坏了 - 我不知道是哪一个。
| 归档时间: |
|
| 查看次数: |
13642 次 |
| 最近记录: |