任何人都知道我如何授予Android Ionic应用程序进行跨域$http调用的权限?
我已经尝试过这篇文章中提到的建议:Ionic + Angular – How to avoid the “404 Not Found (from cache)” after POST request?
我将Content Security元标记设置为接受所有内容,但我的应用程序仍然不允许任何AJAX调用(AngularJS $http.get).
<Meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
错误在于
ionic.bundle.js:17746, error message ‘Failed’
(没有细节).我想要拨打的电话不是https.
适用于iOS.
示例电话:
$http.get(AppConfig.apiHost + "/api/user/",
{params: {user_id: target_user_id}})
.success(function (target_user) { // do something})
.error(function (error) { console.log(error)});
以下评论的澄清
这是我的config.xml:https://gist.github.com/metalaureate/6f8237b673dacc1412c0b928b7a3d9e5
Cordova CLI:6.0.0
离子版:1.0.0-rc.0
离子CLI版本:1.7.14
Ionic App Lib版本:0.7.0
ios-deploy版本:1.8.5
ios-sim版本:5.0.6
操作系统:Mac OS X El Capitan
节点版本:v0.12.2
Xcode版本:Xcode 7.3 Build版本7D175
插件:
科尔多瓦-插件应用内事件,科尔多瓦-插件徽章,科尔多瓦-插件相机,科尔多瓦-插件触点,科尔多瓦-插件装置,科尔多瓦-插件文件,科尔多瓦-插件 – 文件传输,科尔多瓦-plugin-图像选择器,科尔多瓦-插件-inappbrowser,科尔多瓦-插件白名单,科尔多瓦-插件-X-socialsharing,科尔多瓦-插件-X-吐司,de.appplant.cordova.plugin.local通知,PhoneGap的-插件推
所有AJAX调用都失败了.
所有测试都在真正的三星S4上
解决方法:
这是一个非常不明确的错误,但这里有一些建议,您可以尝试找出问题的原因:
>如果您的设备安装了Android< 4.4:更新它,请尝试使用其他具有较新版本的设备,或使用Crosswalk将旧版Android设备用于CSP功能
>更新您的离子源
>在CSP设置中将API主机URL列入白名单.也就是说,default-src *应该涵盖这一点.您还可以尝试完全删除CSP内容:< Meta http-equiv =“Content-Security-Policy”> (不推荐用于制作!)
>您可以从设备上的任何其他应用程序访问API主机(或任何其他URL)吗?如果没有,您可能需要检查测试设备的Wifi连接;)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。