2017-07-22 90 views
0

我知道这个问题出现了很多次,但我现在已经在网上搜索了大约两天,并测试了很多情况,我认为现在是时候打电话给一些帮助。Ionic 2 cordova http error

我的情况: 我已经离子2应用程序写在节点和Auth0和智威汤逊认证的外部API。主要的问题是,通过Android模拟应用程序中的Http请求不会调用API。这就像应用程序无法在其外部调用。这也出现了和共享离子云应用程序。

如何我产生错误: 所有我安装从科尔多瓦白名单中的插件,并允许一切之前(这里的config.xml文件:https://hastebin.com/fekuvijaxi.xml)。我还将http-equiv添加到了我的index.html(https://hastebin.com/gocevomayo.xml)。现在我已经盯着与科尔多瓦ionic cordova run android -lcs应用程序。我的设备在下面。

我可以从我的HTTP包装(import { AuthHttp } from 'angular2-jwt';)存档的错误是:

[14:47:36] console.log: http://localhost:8080/api/v1/auth/login 
[14:47:36] console.log: {"_body":{"isTrusted":true},"status":0,"ok":false,"statusText":"","headers":{},"type":3,"url":null} 

我的服务功能:https://hastebin.com/zudepameca.coffeescript

设备: 编号:模拟器-5584 鸸鹋版本:26.1 .2-4077558 Android:7.1(牛轧糖) - API 25

Ion IC资料: 全球套餐:

@ionic/cli-utils : 1.5.0 
Cordova CLI  : 7.0.1 
Ionic CLI  : 3.5.0 

本地套餐:

@ionic/app-scripts    : 2.0.2 
@ionic/cli-plugin-cordova  : 1.4.1 
@ionic/cli-plugin-ionic-angular : 1.3.2 
Cordova Platforms    : android 6.2.3 browser 4.1.0 ios 4.4.0 
Ionic Framework     : ionic-angular 3.5.3 

系统:

Node  : v7.8.0 
OS   : macOS Sierra 
Xcode  : Xcode 8.3.3 Build version 8E3004b 
ios-deploy : 1.9.1 
ios-sim : 5.1.0 
npm  : 5.3.0 
+0

状态为0可能是一个CORS问题([请参阅我的答案](https://stackoverflow.com/a/45255335/6894075))是否验证过这不是问题? – 0mpurdy

+0

@ 0mpmpdy该应用程序不调用API,因此它不能成为CORS问题。我的服务器描述了allready https://hastebin.com/iqodakanah.php – muuvmuuv

+0

当你说它不调用API时,你的意思是它不是试图调用API,因为你有一个模拟服务,或者你没有看到它访问API? – 0mpurdy

回答

0

感谢@ 0mpurdy和@ captain_jim1因为有时间来帮助我。

我如何解决这个问题:

起初我已经确信这个问题是不是在服务器端,所以我记录的所有进来的请求。直到我没有,我会知道我的APP有什么问题。

因此,在我的APP中,我从问题的结尾开始记录,从每个函数和observable开始。我得到一个错误(上面列出)。所以我在这里搜索了一个解决方案,并找到了一个:

我只是不得不将这一行<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: * 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">加入我的app/index.hmtl。正如这里所描述的:https://github.com/apache/cordova-plugin-whitelist#content-security-policy