我使用sails v0.11.0和sails.io.js v0.11.5进行了一个有效的套接字连接,直到大约一周前。我尝试重新配置我的设置,看起来像提供的解决方案here,但仍然没有连接。
离子index.html脚本加载
-p, --password Password. Required if username specified. Password is read from stdin if one is not supplied.
May use @keychain: or @env: prefixes followed by the keychain or environment variable lookup name.
e.g. -p @env:SECRET which would use the value in the SECRET environment variable.
按此顺序加载脚本已经为我工作了大约6个月。我不知道为什么它会停止。
我在chrome控制台中遇到的错误是;
<head>
<script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="cordova.js"></script>
<script src="app.js"></script>
<script src="lib/socket.io-client/socket.io.js"></script>
<script src="lib/sails.io.js/sails.io.js"></script>
<script type="text/javascript">io.sails.url = 'http://my_sails_api_ip:1337';</script>
<script src="lib/angularSails/dist/ngsails.io.js"></script>
</head>
我已经尝试过设置'使用-CORRouteToGetCookie = false&#39;正如其他职位所建议的那样。这导致重复不成功的尝试进行套接字连接而不是上面的单个错误。
其他信息:我的sails api正在Amazon EC2实例上运行,&#34; my_sails_api_ip:1337&#34;指向
编辑:我刚刚发现如果我Failed to load resource: the server responded with a status of 404 (Not Found) http://my_sails_api_ip:1337/__getcookie
,要从我的本地Chrome浏览器构建,从命令行而不是ionic serve
,构建到我的Android设备,我的sails套接字连接。我以前成功地从我的Android设备连接。
答案 0 :(得分:0)
这是由于我升级到Cordova 5.3.3并影响Cordova 5.x.x.请参阅Nic Raboy https://blog.nraboy.com/2015/05/whitelist-external-resources-for-use-in-ionic-framework/
撰写的这篇博客文章我必须稍微调整一下来自Nic的meta标签,以使我的websocket连接起来。这就是看起来的样子;
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'">