Ama*_*ary 6 node.js cors express reactjs axios
我正在使用 Passport js 进行简单的 twitter 登录,但是在调用 twitter 路由时,出现 CORS 错误。
服务器.js
const express = require("express");
const session = require("express-session");
const dotenv = require("dotenv");
const userLoginRoutes = require("./routes/userLoginRoute");
const cors = require("cors");
const app = express();
app.use(cors());
app.use(function (req, res, next) {
res.header(
"Access-Control-Allow-Origin",
"*"
); // update to match the domain you will make the request from
res.header(
"Access-Control-Allow-Headers",
"Origin, X-Requested-With, Content-Type, Accept"
);
next();
});
app.get("/api/auth/twitter", passport.authenticate("twitter"));
Run Code Online (Sandbox Code Playgroud)
动作调度在这里
import {
USER__LOGIN,
USER__LOGIN__FAILURE,
USER__LOGIN__SUCCESS,
} from "../constants/loginconstants";
const axios = require("axios");
// login action
export const userLoginAction = () => async (dispatch) => {
try {
dispatch({
type: USER__LOGIN,
});
const config = {
header: {
"Content-Type": "application/json",
"Access-Control-Allow-Origin" : "*"
},
};
const { data } = await axios.get(`/api/auth/twitter`, config);
dispatch({
type: USER__LOGIN__SUCCESS,
payload: data,
});
} catch (error) {
dispatch({
type: USER__LOGIN__FAILURE,
payload:
error.response && error.response.data.message
? error.response.data.message
: error.message,
});
}
};
Run Code Online (Sandbox Code Playgroud)
在客户端的 package.json 中,
"proxy": "http://127.0.0.1:3001",
Run Code Online (Sandbox Code Playgroud)
另外,我在网络选项卡中看不到 Access-Control-Allow-Origin,请参阅此处,

设置的时候有什么问题吗Access-Control-Allow-Origin?
我不明白,我哪里错了。我用过cors,甚至手动将origin设置为*。
| 归档时间: |
|
| 查看次数: |
12161 次 |
| 最近记录: |