phonegap を使用して Web アプリを作成したいのですが (Android エミュレーターで試しています)、「同じドメイン ポリシー」に問題があります。この制限を無効にする方法はありますか。外部サーバーから html/json データをロードする必要があります (自分のサーバーではないため変更できません) が、データを取得しようとすると JQuery が未定義のオブジェクトを返します。これが私のコードです:
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Title</title>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
$.ajaxSetup ({
cache: false
});
var ajax_load = "<img src='img/load.gif' alt='loading...' />";
var jsonUrl = "external url";
$("#result").html(ajax_load);
$.getJSON(jsonUrl, function(json) {
var result = json.responseData;
$("#data").html("Result: " + result);
});
</script>
</head>
<body>
<div id="data"></div>
</body>
</html>
PhoneGapTestActivity
public class PhoneGapTestActivity extends DroidGap {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html");
}
}
オンラインで検索して他の質問を読んで、 phonegap.xmlファイルにホワイトリストを設定しようとしました
<?xml version="1.0" encoding="UTF-8"?>
<phonegap>
<access origin="*" subdomains="true" />
</phonegap>
しかし、私が得たのは「結果:未定義」です。どうもありがとう!
編集:何度も試行した後、リクエストが機能することに気付きました (データを受信しました)、json データの内容にアクセスする際にいくつかの問題がありましたが、今では機能します!. すべての回答に感謝します。