我已将ajax调用到我的cordova phonegap android project.ajax响应来自外部网址。当从eclipse构建apk时,它工作正常,但上传项目zip到build.phonegap.com服务器并生成apk.this apk不给ajax响应。我添加了'和 '进入我的config.xml页面,其中ajax响应来自http://example.com/subdomain。
答案 0 :(得分:0)
您可能需要在index.html的头部设置适当的Content-Security-Policy元标记。您使用Eclipse的本地Cordova / Phonegap版本可能比PhoneGap Build上的版本旧,并且不需要此版本。
Cordova 5及更新版需要Content-Security-Policy元标记,默认情况下不允许外部Ajax请求。
您需要配置connect-src子句以允许*(所有服务器)或列出您要连接的那些。
示例:
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; connect-src http://myserver.mydomain.com">
如果您想限制应用从哪里获取数据,请将myserver.mydomain.com更改为*(适用于所有服务器)或空格分隔的网址列表。
有一个blog post here可以帮助解释这一点。