2014-09-10 70 views
0

我們有一個基於JQueryMobile [所有JS/CSS/HTML包裝在APK中]的混合Android應用程序。此應用程序能夠使用JQM ajax調用[用於http url]從服務器[使用RESTful接口]獲取json數據,但是當我們嘗試使用https執行相同的操作時,它會失敗。Android混合應用程序:JQueryMobile ajax不能與https一起使用,但可以與http一起工作

另一點是:我們已經使用基於bouncycastle的證書來啓用TLS [在服務器上],它可以使用原生android調用[使用java]正常工作。

現在我們很困惑,爲什麼它使用http而不是使用https。任何暗示在這方面將不勝感激。我們不認爲這是與CORS/XOR問題有關,因爲我們的Ajax http調用工作正常。

回答

0

我假設你使用的是Android WebView類?如果是這樣,檢查錯誤是通過實施此方法的內容:

webView.setWebViewClient(new WebViewClient() { 
public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error) { 
    Log.d("ssl_error", "The error is: " + error); 
} 

與該代碼,你可以看到什麼樣的錯誤,如果有的話,是導致空白頁。如果這是您可以接受的錯誤,則將Log.d行替換爲handler.proceed();(使用if條件以驗證它是相同的錯誤)。理想情況下,您應該糾正造成問題的任何問題。

+0

我已經在意識到我使用自簽名證書後解決了[9月15日本身],我必須使用handler.proceed()來接受這樣的證書。謝謝。 – kdk99 2016-07-21 04:48:05

相關問題