今天用socket.io.js连接服务器出现跨域错误怎么解决?
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <script src="//repo.bfw.wiki/bfwrepo/js/socket.io.js"></script> <script> window.onload = function () { var socket = io.connect(':8989'); //监听与服务器端的连接成功事件 socket.on('connect', function () { console.log('客服端连接成功'); }); // 客服端收到服务器发过来的消息后 socket.on('message', function (message) { console.log('客服端接收消息 ' + message); }); //监听与服务器端断开连接事件 socket.on('disconnect', function () { console.log('断开连接'); }); }; </script> </body> </html>结果出现access to XMLHttpRequest at 'http://×/socket.io/?EIO=3&transport=polling&t=NcXKJ6k' from origin 'http://×' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
网友回复
可以增加跨域设置的规则,比如nodejs+socketio这样设置:
var app = require('express')()//链式语法 var http = require('http').Server(app) var io = require('socket.io')(http, { allowEIO3: true, cors: { origin: ['web.debug.only.bfw.wiki/'],//跨域设置 ...
点击查看剩余70%