PhoneGap と JQuery Mobile を使用して、モバイル Web アプリケーションを iOS アプリにパッケージ化しようとしています。アプリケーションは Datajs を使用して、別のサイトへの OData リクエストを作成します。Cordova.plist で External Hosts を '*' に設定しました。Web ブラウザーで同じファイルを使用すると、要求は正常に機能します。
問題は、iOS アプリにパッケージ化されるとすぐに、OData.read() 関数が存在しないかのように完全にスキップされることです。問題を引き起こしているコードは次のとおりです。
var myURI = baseURL + "GetIndustries";
console.log("before request");
OData.read({requestUri: myURI, username: username, password: password}, function (data){
console.log("successful request");
for (var i=0; i<data.results.length; i++) {
industries[i]=data.results[i];
}
}, function(err){
console.log("error: "+err);
});
console.log("after request...");
アプリケーションを実行すると、ログ出力は次のようになります。
2012-12-21 11:05:48.104 opportunities[298:907] Multi-tasking -> Device: YES, App: YES
2012-12-21 11:06:04.791 opportunities[298:907] [LOG] before request
2012-12-21 11:06:04.806 opportunities[298:907] [LOG] after request...
私には、エラー処理も含めて、OData 関数を完全にスキップしていることがわかります。私は datajs-1.1.0 とバージョン 1.2.0 の JQueryMobile を使用しています。
どんな助けや指針も大歓迎です。ありがとう。