Javascript Socket.io、NodeJS和ReactJS CORS错误
作为一个初学者,我读了一大堆关于同一问题的问题 当我通过React客户端以正常方式打开与套接字的连接时,仅将URL作为参数,我没有得到这个错误,连接已建立 但当我这么做的时候:Javascript Socket.io、NodeJS和ReactJS CORS错误,javascript,node.js,reactjs,socket.io,Javascript,Node.js,Reactjs,Socket.io,作为一个初学者,我读了一大堆关于同一问题的问题 当我通过React客户端以正常方式打开与套接字的连接时,仅将URL作为参数,我没有得到这个错误,连接已建立 但当我这么做的时候: const io = ioClient(webSocketUrl, { transportOptions: { polling: { extraHeaders: getAuthenticationToken() } } }); 每次请求都返回CORS错误 我曾尝试: 像这样设置原点
const io = ioClient(webSocketUrl, {
transportOptions: {
polling: {
extraHeaders: getAuthenticationToken()
}
}
});
每次请求都返回CORS错误
我曾尝试:
- 像这样设置原点:
io.origins(['*:*'])代码>
- 应用程序使用(功能(请求、恢复、下一步){ res.setHeader( “访问控制允许来源”, 请求标题(“来源”)|| 请求标头(“x-forwarded-host”)|| 请求标题(“引用人”)|| 请求头(“主机”) ); res.header( “访问控制允许方法”, 获取、发布、选项、放置、修补、删除 ); res.header(“访问控制允许头”,“X请求,内容类型”); res.setHeader(“访问控制允许凭据”,false); next(); });
- 还有: 应用程序使用(cors()); app.options(“*”,cors())
const io = require("socket.io")(server, {
handlePreflightRequest: (req, res) => {
const headers = {
"Access-Control-Allow-Headers": "Content-Type, Authorization",
"Access-Control-Allow-Origin": req.headers.origin, //or the specific origin you want to give access to,
"Access-Control-Allow-Credentials": true
};
res.writeHead(200, headers);
res.end();
}
});
getAuthenticationToken
返回什么?它返回对象:{Authorization:“Bearer…”但我找到了一个解决方法!谢谢