繁体   English   中英

$ http调用不适用于Ionic Android版本

[英]$http call won't work on Ionic Android build

这就是我打电话的方式:

$http.get( url, {
    params : {
        empId: $scope.empId
    }
}).then(function(data, status){
    $scope.workOrders = data.data;
}, function(data, status){
    $scope.message = data;
});

它在Chrome上运行得很好,如果我导航到手机浏览器上的URL,我可以得到一个很好的响应。

但是,每当我使用构建的.apk时,我得到:

{"data":"",
 "status":404,
 "config":{
     "method":"GET",
     "transformRequest":[null],
     "transformResponse":[null],
     "params":{"empId":"123"},
     "url":"http://...",
     "headers":{"Accept":"application/json, text/plain, */*"}
 },"statusText":Not Found"}

有点失去了这一个。 奇怪的是,我可以通过手机浏览器点击URL,但不能在Ionic / Cordova内置.apk

根据要求,这是我的config.xml文件:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget id="com.ionicframework.myapp397384" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
  <name>myApp</name>
  <description>
        An Ionic Framework and Cordova project.
    </description>
  <author email="hi@ionicframework" href="http://ionicframework.com/">
      Ionic Framework Team
    </author>
  <content src="index.html"/>
  <access origin="*"/>
  <preference name="webviewbounce" value="false"/>
  <preference name="UIWebViewBounce" value="false"/>
  <preference name="DisallowOverscroll" value="true"/>
  <preference name="BackupWebStorage" value="none"/>
  <feature name="StatusBar">
    <param name="ios-package" value="CDVStatusBar" onload="true"/>
  </feature>
</widget>

啊哈!

显然Cordova刚刚发布了cordova-android 4.0,它默认情况下阻止了http请求。

只需运行此命令:

ionic plugin add cordova-plugin-whitelist

你很高兴去。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM