【问题标题】:Android Webview making long winded Jquery AJAX callAndroid Webview 进行冗长的 Jquery AJAX 调用
【发布时间】:2013-04-24 23:41:11
【问题描述】:

我有一个 android 混合应用程序,我从主要活动加载 html 文件:

super.loadUrl("file:///android_asset/www/myapp/myPage.html");

从这个 html 中,我加载了一个 javascript,它对开发服务器上的 REST API 进行 jquery ajax 发布调用。根据我在 ajax 调用中发送的数据量,服务器可能需要大量时间来处理数据并返回响应。当服务器响应缓慢时,我几乎总是从 ajax 调用中得到一个错误,其 textStatus 只是“错误”。较小的数据调用总是成功的。 Logcat 说:

httpFailure() ******* java.net.UnknownHostException

Android 是否使用某种超时可能会关闭与服务器的连接?

此外,诸如此类的 ajax 请求是否在 Android 的 UI 线程上运行?

我发现服务器端处理实际上没有错误地完成。

【问题讨论】:

    标签: android jquery ajax webview


    【解决方案1】:

    java.net.UnknownHostException没有互联网连接时抛出。

    确保您的设备/模拟器具有互联网连接并且您已提供permissionAndroidManifest.xml

    <uses-permission android:name="android.permission.INTERNET" />

    【讨论】:

    • 感谢您的回答...这是我正在开发的地理定位应用程序,因此我使用实际设备进行测试,当 javascript 执行时,手机正在使用无线网络。
    • 但是,如果您使用无线访问互联网,那么您需要添加此权限。
    • 是的,同意,我正在这样做。真正的问题是,在有效载荷很小的情况下,调用工作正常,没有任何障碍。只有当向服务器发送的数据量比较大,服务器处理请求的时间较长时,才会抛出UnknownHostException。
    【解决方案2】:

    我从来没有找到解决这个问题的好方法。我决定让 jquery ajax 调用的异步特性来处理这种情况,而不是在应用等待响应时占用用户。

    【讨论】:

      猜你喜欢
      • 2013-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-07
      • 1970-01-01
      • 2011-06-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多