Cordova - 为啥 $http get 请求在 android 设备上失败但在 chrome 上工作
Posted
技术标签:
【中文标题】Cordova - 为啥 $http get 请求在 android 设备上失败但在 chrome 上工作【英文标题】:Cordova - Why is $http get request failing on android device but working on chromeCordova - 为什么 $http get 请求在 android 设备上失败但在 chrome 上工作 【发布时间】:2015-08-07 08:47:49 【问题描述】:我在我的 cordova 项目中遇到了这个问题,该项目是用 angular 和 ionic 创建的。我已经尽我所能,但还是不行。
代码如下:
function getSuccess(response)
$scope.modules = response.modules;
$scope.list = $scope.modules;
$scope.search = [
str: ""
];
$http(method: 'GET',
url: "http://xxx.xxx.xxx.xxx/api/modules"
)
.success(getSuccess)
.error(function (response)
alert("Damned");
);
当然,IP 是有效的,并且可以在 chrome 浏览器中运行;)
那在我的控制器中。我已经在我的配置文件中添加了<access origin="*"/>
,构建后它仍然在我的安卓设备上显示“该死的”。
科尔多瓦版本:5.0.0 安卓版本:5.1
【问题讨论】:
response
应该包含有关错误的详细信息。当您可以确切地知道出了什么问题时,不要输出固定(无用)的错误消息。
我实际上想使用console.log之类的东西,但我不知道如何在应用程序中做到这一点,知道吗? ://
甚至像 alert(JSON.stringify(response))
这样的东西也可以提供帮助。任何东西都可以让错误对象的内容显示出来并可以查看。
安装白名单插件cordova-plugin-whitelist(而且我不搞乱ZOHANNNN)
@aorfevre 发表您的评论作为答案,我会给它+1000。你只是救了我的命!特维姆!
【参考方案1】:
安装白名单插件:cordova-plugin-whitelist
自 Cordova 5.0.0 起,跨域请求必须使用白名单插件
【讨论】:
以上是关于Cordova - 为啥 $http get 请求在 android 设备上失败但在 chrome 上工作的主要内容,如果未能解决你的问题,请参考以下文章
Angular 4 + Http 不是 Cordova 中收集的垃圾
为啥请求中没有发送来自 $http GET 的数据? [复制]
为啥 Angular 6 不发送 HTTP Get/Post 请求?