我正在尝试从外部位置使用HTTP服务,但只获取ERR_CONNECTION_TIMED_OUT,因为请求永远不会到达服务器。
该应用已使用ionic 1
和angularjs
构建,使用angular-resource
来使用服务
在阅读了几个SO问题后,我最终设置了我的应用程序,如下所示:
config.xml中
<allow-navigation href="*" />
<access origin="*" />
的index.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
。请求是正确的,因为我使用本地机器ip测试它们并且它们正常工作,在将IP更改为服务器IP后出现问题。它看起来像是 CORS 问题,我希望通过index.html文件中的meta
标记来解决它,但即使我设置了行为也是如此:
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
任何帮助将不胜感激。