【问题标题】:socket.io "Cross-Origin request Blocked" errorsocket.io“跨源请求被阻止”错误
【发布时间】:2022-01-11 22:09:39
【问题描述】:

所以,我正在尝试按照this 教程进行操作,但我无法立即使用它。 首先,这些是我的文件:

root/frontend/index.html

<html>
  [...]some static page[...]

  <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js"></script>
  <script src="index.js"></script>
</html>

root/frontend/index.js

const socket=io('http://localhost:3000');

socket.on('init', handleInit);

function handleInit(msg) {
   console.log(msg);
}

root/server/server.js

const io=require('socket.io')();

io.on('connection', client =>{
  client.emit('init', {data:'hello'});
});

io.listen(3000);

他接下来要做的是在前端文件夹中运行“npx live-server”(我也这样做)。此外,在服务器文件夹中运行“yarn add socket.io”,然后运行“npx nodemon server.js”,它应该可以工作。但是做这些确切的步骤我得到了错误: “跨域请求被阻止:同源策略不允许在 http://localhost:3000/socket.io/?EIO=3&transport=polling&t=NsGvIgN 读取远程资源。(原因:CORS 请求未成功)”

“GET http://localhost:3000/socket.io/?EIO=3&transport=polling&t=NsGvO1Z”

【问题讨论】:

    标签: javascript node.js socket.io


    【解决方案1】:

    所以,我有点想通了。

    最后,我学习了另一个更简单、更适合初学者的教程。这是this one。易于理解,重点突出,结构紧凑,没有问题。

    但是,如果您遇到此 CORS 错误,那么修复它的方法是在 another 视频中。基本上你必须安装 cors 包并在服务器 js 代码中添加一些定义。修复本身在 10 分钟内,但我建议从头开始观看。

    【讨论】:

      猜你喜欢
      • 2014-12-27
      • 2014-07-26
      • 2021-07-30
      • 2015-06-08
      • 2015-05-05
      • 2020-11-03
      • 2016-04-20
      • 2017-10-01
      相关资源
      最近更新 更多