【问题标题】:error in connection the socket.io from different server连接来自不同服务器的 socket.io 时出错
【发布时间】:2014-10-06 07:59:59
【问题描述】:

我正在制作一个使用 node.js REST API 作为后端和 Angular 作为前端的移动应用程序,它们都将位于不同的服务器上。 Angular 应用程序稍后将与 phonegap 连接,使其成为混合应用程序。 我正在使用 socket.io 并尝试将前端连接到后端以构建内置聊天。

当我尝试通过

连接套接字时出现错误
io.connect("(http://localhost:3000/")

XMLHttpRequest 无法加载

http://localhost:3000/socket.io/?EIO=3&transport=polling&t=1412172739903-3

。当凭证标志为真时,不能在“Access-Control-Allow-Origin”标头中使用通配符“*”。产地

'http://localhost:1235' 

因此不允许访问。

【问题讨论】:

    标签: javascript node.js angularjs cordova socket.io


    【解决方案1】:

    【讨论】:

    • 我总是使用 CORS,这是 99.9% 次的完美解决方案。
    【解决方案2】:

    在您的 NodeJS 服务器端代码中(假设您在后端使用 ExpressJS),您是否添加了

    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    

    本网站可能会帮助您: Enable cors in serverside

    【讨论】:

      猜你喜欢
      • 2012-02-03
      • 1970-01-01
      • 2012-06-22
      • 1970-01-01
      • 2014-10-07
      • 1970-01-01
      • 2012-12-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多