【发布时间】:2017-09-22 14:29:44
【问题描述】:
我有一个运行良好的 ionic v1 应用程序,但几周前当我构建新的已签名 .apk 文件时,所有 $http 请求都停止工作了。
这里是请求示例
$http({
method: 'GET',
url: 'https://some-url.com/user/id'
}).then(function (response) {
alert(response.data);
}, function (error) {
alert('Error ' + JSON.stringify(error));
});
我总是收到错误回调 {data: null, status -1, headers: ...}
有趣的是,当我构建简单的 apk 或仅运行 cordova run android 时,一切正常。只是不能在签名的 apk 中工作。
我已经尝试更新cordova-plugin-whitelist并添加了
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
到我的 index.html 文件。还在我的 config.xml 文件中添加了<allow-navigation href="*" />。
有人知道为什么会这样吗?也许android sdk改变了构建签名apk的方式,我需要一些额外的配置。
【问题讨论】:
-
我也尝试发出 AJAX 请求而不是 $http,结果是一样的
-
android 清单中是否有互联网权限?
-
@LucaNicoletti,是的,有
-
你的后端收到请求了吗?
-
@georgeawg,这不是 CORS 问题,因为我的后端处理了这个问题。我已经解决了这个问题。问题出在我服务器端的 SSL 证书上。中间证书丢失,所以我添加了它,问题就消失了
标签: android angularjs cordova ionic-framework