小编Ega*_*n N的帖子

套接字 IO 错误“对 XMLHttpRequest 的访问已被 CORS 策略阻止”

我的应用程序最近收到一个错误

“在‘ https://my-service-domain/socket.io/?EIO=3&transport=polling&t=M-eWtUQ ’从源‘ https://my-app-domain ’访问 XMLHttpRequest已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。”

当我连接到 socket.io 时。我还没有找到解决这个问题的方法,我将在下面的图片中详细描述,有没有人遇到过这个错误。

在此处输入图片说明

服务器配置:

var express = require('express');
var app = express();

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "X-Requested-With");
  res.header("Access-Control-Allow-Headers", "Content-Type");
  res.header("Access-Control-Allow-Methods", "PUT, GET, POST, DELETE, OPTIONS");
  next();
});
var http = require('http');
var server = http.createServer(app);
var io = require('socket.io').listen(server, {log:false, origins:'*:*'});
Run Code Online (Sandbox Code Playgroud)

客户端配置:

var socket = io('https://my-service-domain', {transports: ['polling']});
socket.on(channel_id, function(data){
     // some code
});
Run Code Online (Sandbox Code Playgroud)

我尝试切换 websocket 连接选项var socket = io('https://my-service-domain', {transports: ['websocket']}),但出现错误

“WebSocket 连接到 'wss://my-service-domain/socket.io/?EIO=3& transport …

sockets websocket node.js express socket.io

7
推荐指数
3
解决办法
1万
查看次数

标签 统计

express ×1

node.js ×1

socket.io ×1

sockets ×1

websocket ×1