2013-04-04 30 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