2

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

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

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

当我在离子中没有这个错误时,为什么我会在超音速中得到这个?目前,服务器在 .htaccess 中有以下内容:

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

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

node.js 服务器没有改变,配置类似于基本的socket.io 文档

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

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

http://localhost:8100

似乎没有任何帮助。

4

1 回答 1

2

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 服务器。

于 2015-07-28T00:13:43.563 回答