【发布时间】:2017-12-29 19:36:50
【问题描述】:
我正在我的 react 应用程序中实现 socket.io-client package。我的反应应用程序正在使用 express 和 webpack。使用以下代码时:
import io from 'socket.io-client';
const socket = io('http://localhost');
在任何组件中,我都会收到以下错误:
polling-xhr.js:264 POST http://localhost/socket.io/?EIO=3&transport=polling&t=Lrprs_y 404(未找到)
使用http://localhost:80时出现同样的错误。
当在'localhost`的地方使用127.0.0.1时,它会抛出以下错误:
XMLHttpRequest 无法加载 http://127.0.0.1/socket.io/?EIO=3&transport=polling&t=Lrq3G9W。请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'http://localhost' 因此不允许访问。
【问题讨论】:
-
尝试指定应用程序运行的端口,如
io('http://localhost:8080'),并确保服务器正在运行 -
@ShubhamKhatri 默认运行
80。使用io('http://localhost:80')时仍然出现同样的错误。当使用127.0.0.1而不是localhost时,它会抛出 CORS 错误