今天用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%


