2013-04-04 32 views
0

我有一个Android的混合应用,从主要活动,其中i加载HTML文件:Android的web视图作出长篇大论jQuery的AJAX调用

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

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

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

是否有某种超时Android使用可以关闭到服务器的连接?

此外,请执行这些在Android的UI线程上运行的ajax请求吗?

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

回答

0

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

0

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

要确保你的设备/模拟器有互联网连接,你必须给permissionAndroidManifest.xml

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

+0

感谢您的回答...这是一个我正在开发的地理位置应用程序,所以我使用实际设备进行测试,当JavaScript执行手机时正在使用无线网络。 – user1209575 2013-04-04 21:44:11

+0

但仍然如果您使用无线访问互联网,那么您需要添加此权限。 – MAC 2013-04-05 06:10:04

+0

是的,同意了,我正在这样做。真正的问题是,只要有一个小的有效载荷,这个通话就可以正常工作,没有任何故障。只有在向服务器发送相对较大数量的数据时,服务器需要很长时间才能处理发出UnknownHostException的请求。 – user1209575 2013-04-05 14:25:37