Phonegap (バージョン 1.9.0) と jQuery Mobile (1.1.0) を使用して Android (2.2) アプリを作成しようとしています。具体的には、アプリは既存の WCF REST サービスに GET 要求を送信し、JSON データ (フォルダーのリスト) を取得して、選択ドロップダウン メニューのオプションとして各項目を表示することになっています。
今のところ、デスクトップ ブラウザを使用している場合、これらはすべて正常に機能します。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://" プロトコルが "same-origin ポリシー" の影響を受けていないことにも気付きました...私はブラウザで作業していたので、コールバックがあります。これが失敗の理由だとは思いませんが、わかりません。どんな助けでも大歓迎です!
私が試したこと:
cordova.xml でアクセス元を「.*」に変更
「super.setIntegerProperty("loadUrlTimeoutValue", 60000);」の追加 活動へ