2012-08-01 53 views
0

我有一個準系統index.html,Eclipse中的Anddroid Phonegap項目,它不會執行jQuery Mobile ajax調用。 LogCat顯示以下消息和應用程序崩潰 CordovaWebView:TIMEOUT ERROR! CordovaWebViewClient.onReceivedError:錯誤代碼= -6說明=到服務器的連接不成功。在Eclipse中製作的Android PhoneGap應用程序不會運行jQuery ajax調用

有趣的事實: 1.)如果我註釋掉ajax調用,Eclipse會安裝並運行應用程序。 2.)我在.apk中使用相同的ajax模式,通過PhoneGap Build來處理html-css-javascript應用程序,並且它工作正常。

詳情: 在Eclipse朱諾,我有一個Android的PhoneGap項目(它採用了ADT和科爾多瓦-1.9.0.jar)與包含以下順序如下.js文件index.html文件:

<script type="text/javascript" src="Scripts/cordova-1.9.0.js"></script> 
<script type="text/javascript" src="Scripts/jquery-1.6.2.min.js"></script> 
<script src="Scripts/temp.js" type="text/javascript"></script> 

的temp.js文件有這它

$(document).ready(function(){ 
var theUrl = 'http://www.myDomain.biz/WebServices/gg.svc/'; 
console.log("theUrl + GetHelpFile = " + theUrl + "GetHelpFile"); 
$('div#divTarget').html("theUrl + GetHelpFile = " + theUrl + "GetHelpFile"); 

$.ajax({ 
type: "GET", 
cache: false, 
dataType: 'jsonp', 
url: theUrl + "GetHelpFile", 
contentType: "text/plain", 
success: function (theJson) { 
var help_file = $(theJson); 
$('div#divHelpFile').html(help_file); 
}, 
error: function ($theData) { 
var tt = $theData; 
alert(tt); 
} 
}); 
}); 

該項目

  • 科爾多瓦-1.9.0.jar在其構建路徑
  • 的AndroidManifest.xml文件是 具有<應用> <活動>爲了我的java文件
    機器人:「java_activity」 name =併爲
    機器人:NAME = 「org.apache.cordova.DroidGap」

和所有的<使用的權限>

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.VIBRATE" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
<uses-permission android:name="android.permission.RECEIVE_SMS" /> 
<uses-permission android:name="android.permission.RECORD_AUDIO" /> 
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 
<uses-permission android:name="android.permission.READ_CONTACTS" /> 
<uses-permission android:name="android.permission.WRITE_CONTACTS" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<uses-permission android:name="android.permission.BROADCAST_STICKY" /> 

我使用Eclipse中的運行配置一個目標4.0 AVD,並且一切正常。 當我註釋掉ajax調用時,Eclipse創建.apk文件,打開AVD,安裝應用程序並運行正常。另外,我在IIS中爲同一個index.html文件在同一個目錄中創建了一個網站,並且在瀏覽器中加載了頁面,並且ajax運行良好。

我增加的超時時間,並沒有幫助

super.setIntegerProperty("loadUrlTimeoutValue", 60000); 

那你覺得我需要做的就是Ajax調用我在Eclipse的Android系統的PhoneGap項目執行?

感謝

+0

更新:應用程序在我的手機上運行良好,但不在AVD中。兩者都表示他們正在運行Android 4.0.3我在這裏使用AVD,因此這裏的環境要求我們使用代理。在IE中我們做的工具/ Internet選項/連接/ LAN設置/使用代理服務器,並填寫代理服務器的URL。所以我認爲AVD沒有使用它,所以這裏的網絡不會讓ajax通話繼續。另外,我在AVD中使用http:// localhost等應用程序,這是一個返回我想要的網址,但這沒有幫助。想法? – pdschuller 2012-08-09 16:35:42

回答

相關問題