我想創建一個帶有phonegap的web應用程序(我試圖在Android模擬器上),但是我遇到了與「相同域策略」有關的問題:是否有任何方法可以禁用此功能限制。我需要從外部服務器加載html/json數據(不是我自己的,所以我不能修改它),但是當我嘗試獲取數據時,JQuery返回一個未定義的對象。這裏是我的代碼:PhoneGap:從外部來源加載數據
的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>
但我得到的是:「結果:undefined」。 非常感謝!
編輯:經過多次嘗試,我發現請求的作品(我收到的數據),但訪問json數據內容時有一些問題,但現在它的作品! 感謝您的所有答案。
你是否已經檢出這個類似的問題? http://stackoverflow.com/questions/7154988/will-jquery-load-work-on-phonegap – Jon