2014-09-10 85 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

相关问题