angularjs - 由于 CORS 错误,Socket.io angularjs 客户端未连接

标签 angularjs socket.io cors steroids supersonic

我最近从 Ionic 框架移植了一个应用程序。我的应用程序使用了 socket.io,它在 ionic 中完美运行。

它在类固醇/超音速下无法正常工作。当客户端尝试使用 socket.io 连接到我的 Nodejs 服务器时,我收到以下信息:

Cannot use wildcard in Access-Control-Allow-Origin when credentials flag is true.

为什么我在超音速中遇到这个错误,而在 ionic 中没有出现此错误?目前服务器的.htaccess中有以下内容:

Header set Access-Control-Allow-Origin http://localhost:8100

我的 socket.io 脚本已加载到 common/layout.html 中,这意味着它会加载应用程序中的所有 View 。

node.js 服务器没有改变,配置与基本 socket.io docs 类似。 .

我被难住了。网络上有一百万又一个关于这个特定错误的帖子,还有一百万零一个关于如何修复的建议……没有一个能帮助我解决这个问题。由于这是一个移动混合应用程序,因此当应用程序在真实设备上运行时,不会有从客户端发送的源。但现在我在 iOS 模拟器上并使用 Safari 检查器来查看为什么我无法保持 socket.io 连接。

我尝试使用express cors包和其他方法来覆盖具有特定来源的“*”通配符设置:

http://localhost:8100

似乎没有什么帮助。

最佳答案

Supersonic 应用程序在 app.coffee 中的配置设置如下:

network:
extraResponseHeaders:
"Access-Control-Allow-Origin": "*"
"Access-Control-Allow-Headers": "Content-Type, X-Requested-With"

如此处记录:

http://docs.appgyver.com/supersonic/guides/architecture/app-config-files/#app-coffee

使用socket.io(可能还有其他网络服务)真是一场噩梦!!!

我改为:

"Access-Control-Allow-Origin": "http://localhost"

...并且能够连接到我的 socket.io 服务器。

关于angularjs - 由于 CORS 错误,Socket.io angularjs 客户端未连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31629064/

相关文章:

angularjs - Ionic-Cordova-Angular 应用程序中的传单全屏

javascript - Socket.IO,导航器选项卡出现问题

HTML5 Rackspace 访问控制允许来源不工作

javascript - Node 的 CORS 问题

javascript - 无法在angularJs中设置下拉列表的选定值

javascript - 通过它在 Firebase 中的唯一 ID 查找对象

javascript - Socket.io - 离开房间时延迟

node.js - SEC7118 : XMLHttpRequest for/socket. io/1/?t=1370206038749 需要跨源资源共享 (CORS)

google-app-engine - 无法启用对 Google App Engine IAP 的 CORS 请求

javascript - Google reCAPTCHA、405 错误和 CORS 问题