2017-05-05 97 views
0

我試圖從外部位置消耗HTTP服務,但只得到ERR_CONNECTION_TIMED_OUT因爲該請求永遠不會給服務器。離子1個外部的HTTP請求

這個應用程序已建成ionic 1angularjs,使用angular-resource消費服務

讀取多個SO問題,我最終建立我的應用程序,具體如下:

config.xml中

<allow-navigation href="*" />  
<access origin="*" /> 

index.html

<meta http-equiv="Content-Security-Policy" content="default-src 'self' http://server_ip:8080 data: gap: *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'"> 
當然

service_ip是真正的服務器IP地址,它接受HTTP請求,因爲我已經能夠使用REST客戶端使用它們。

其他注意事項:

  • 這個應用程序是建立和使用命令ionic run android啓動。
  • 我使用的插件cordova-plugin-whitelist。 (我刪除並添加了幾個SO答案後,再沒有成功)。
  • 還使用插件angular-resource HTTP請求。請求是正確的,因爲我已經使用本地機器ip測試了它們,並且它們工作,問題出現後,將該ip更改爲服務器ip

它看起來像一個CORS問題,我希望通過在index.html文件meta標籤來解決它,但行爲是相同的,甚至當我設置:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'"> 

任何幫助將不勝感激。

+0

對不起,你在IOS或Android上的測試? –

+0

嘗試使用「科爾多瓦運行Android」 – Edison

+0

嘗試檢查此鏈接http://stackoverflow.com/questions/30326148/cordova-ionic-http-request-not-processing-while-emulating-or-running-on-dev – digit

回答

0

最後,問題是我的設備上。我必須升級Google的WebView應用程序才能使其工作。

解決方案發現here