我想用Phonegap(版本1.9.0)和jQuery Mobile(1.1.0)創建一個Android(2.2)應用程序。具體來說,應用程序應該向現有的WCF REST服務發送GET請求,並檢索JSON數據(文件夾列表),並在選擇下拉菜單中將每個項目顯示爲一個選項。PhoneGap + Android + jQuery Mobile - 連接到服務器不成功
現在,當我使用桌面瀏覽器時,所有這些都可以正常工作。 WCF REST服務發送正確的響應,瀏覽器正確渲染頁面,並按照需要將選項放入選擇菜單中。然而,當我使用PhoneGap的使用在Android應用程序下面的代碼:
$.getJSON('http://xxx.xxx.xxx/MobileService.svc/GetFolders?callback=?', null, function (folders) {
$.each(folders, function(i, folder) {
$("#folders").append("<option value='"+folder.Id+"'>"+folder.Name+"</option>");
});
$("#folders").selectmenu("refresh");
});
...我得到錯誤信息,當我啓動了Android應用(上物理設備的調試):
Connection to the server was unsuccessful. ("file:///android_asset/www/index.html")
當我註釋掉了上面的$ .getJSON代碼,應用程序加載正常,但是選擇菜單未填充。
我也注意到,顯然是因爲Phonegap使用「file://」協議,它不受「http://」協議所在的「同源策略」的影響。當我使用瀏覽器時使用JSONP,這就是爲什麼我有回調。我不認爲這應該是它失敗的原因,但我不知道。任何幫助將不勝感激!
事情我已經試過: 「*」
更改訪問起源於cordova.xml
添加「super.setIntegerProperty( 「loadUrlTimeoutValue」,60000) ;」該活動
我試着重新啓動模擬器,錯誤消失了。 原因是當我啓動我的模擬器時,網絡已關閉,因此無法將網絡連接恢復。因此我重新啓動了模擬器。 – hriziya 2013-01-11 08:28:30