2017-07-22 124 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