我想创建一个带有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