我试图从外部位置使用 HTTP 服务,但只得到 ERR_CONNECTION_TIMED_OUT,因为请求永远不会到达服务器。
该应用程序已使用ionic 1
和构建angularjs
,angular-resource
用于消费服务
在阅读了几个 SO 问题后,我最终按如下方式设置了我的应用程序:
配置文件
<allow-navigation href="*" />
<access origin="*" />
索引.html
<meta http-equiv="Content-Security-Policy" content="default-src 'self' http://server_ip:8080 data: gap: *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
当然,service_ip是真正的服务器 IP 地址,它接受 HTTP 请求,因为我已经能够使用 REST 客户端使用它们。
其他注意事项:
ionic run android
。cordova-plugin-whitelist
。(我在几个 SO 答案之后删除并再次添加它......没有成功)。angular-resource
进行 HTTP 请求。请求是正确的,因为我已经使用本地机器 ip 测试过它们并且它们可以工作,但在将该 ip 更改为服务器 ip 后出现问题。它看起来像一个CORS问题,我希望通过meta
index.html 文件中的标签来解决它,但即使我设置,行为也是一样的:
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
任何帮助将不胜感激。
最后,问题出在我的设备上。我必须在我的设备中升级 Google 的WebView应用程序才能使其工作。
解决方案在这里找到
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句