node.js - 使用 React、Node.js 和 Socket.io (v 4.0.0) 时如何修复 CORS
问题描述
在使用 React、Socket.io 和 Node.js 时,我在生产中遇到了 CORS 问题。
客户端:
import { io } from 'socket.io-client';
const socket = io('https://warm-wildwood-81069.herokuapp.com');
服务器端:
const app = require("express")();
const server = require("http").createServer(app);
const io = require("socket.io")(server, {
cors: {
origin: "https://priceless-swirles-68e598.netlify.app",
methods: [ "GET", "POST" ]
}
});
客户端和服务器都运行 4.0.0 版本的 Socket.io。
我得到的错误如下:
Access to XMLHttpRequest at 'https://warm-wildwood-81069.herokuapp.com/socket.io/?EIO=4&transport=polling&t=NXV7rQn' from origin 'https://priceless-swirles-68e598.netlify.app' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
和:
GET https://warm-wildwood-81069.herokuapp.com/socket.io/?EIO=4&transport=polling&t=NXV7rQn net::ERR_FAILED
解决方案
推荐阅读
- node.js - npm:我将命令“npm ls -g -depth=0”输入错误为“npm ls -g -d=0”并且它已被执行
- pandas - 计算熊猫中的按行百分比
- python - Facebook/messenger 存档包含我无法解析的表情符号
- c - 为什么GCC初始化为0时不给静态变量赋值
- keras - keras.layers.concatenate 的输出形状
- c# - System.IO.FileNotFoundException 在 .net 框架项目中引用 .net 标准库时出错
- python - 如何通过打开文件来强制或更改我的终端以在 python 3 中运行 python 可执行文件?
- javascript - JSON 在 Safari 上占用太多内存
- javascript - Angular 上的“对象”类型上不存在属性“相册”
- html - 调整窗口大小时,段落标记中的文本量正在推动其他元素