私はこれを3日間続けており、ほとんどすべての代替コードを試し、無駄に修正しました。
これは、bog-standardjQueryの例から抜粋したコードです。
$.ajax({
url: "http://api.wunderground.com/api/4213a68e7f20c998/geolookup/conditions/forecast/q/Australia/Noarlunga.json",
dataType: "jsonp",
success: function(parsed_json) {
alert("YEP!");
var loc = parsed_json['response'];
var weather = "Location: " + parsed_json.location.city + "<br />";
weather += "Wind: " + parsed_json.current_observation.wind_dir + " ";
weather += parsed_json.current_observation.wind_mph + "-" + parsed_json.current_observation.wind_gust_mph + " knts";
$("#info").html(weather);
}
});
そしてここに多くの人々が提案したいくつかの設定があります(それは何もしませんでした)
$( document ).bind( "mobileinit", function() {
// Make your jQuery Mobile framework configuration changes here!
$.mobile.allowCrossDomainPages = true;
$.mobile.ajaxEnabled = true;
$.mobile.pushStateEnabled = false;
$.mobile.allowCrossDomainPages = true;
});
さらに、私は持っています:
AndroidManifest.xmlファイルに<uses-permissionandroid:name ="android.permission.INTERNET"/>を追加しました
同じターゲットのブラウザでjsonリクエストURLをテストしました(正常に動作します)
- FireFox / Chromeでページをテストしました(正常に動作します)
- Galaxy s2 over 3Gでアプリを試しました(UIはすべて正常に機能しますが、ajaxリクエストはまだ失敗します)
これは完全なコードではないことに注意してください。ただし、標準の.ready()関数でラップされた標準のphonegapdevicereadyリスナーイベント関数に含まれているだけです。
これが私の電話で失敗し、SDKが接続/許可の問題ではなく、phonegap/Eclipseの問題を示しているように見えるという事実。
Android SDKを使用して、Android2.3AVDにデプロイしようとしています。Android4AVDへのデプロイはまだ試していません。
試してみる提案が足りなくなったので、問題が何であるかを誰かが知っていれば、私はそれが大好きです!