2012-05-15 59 views
0

我想创建一个带有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数据内容时有一些问题,但现在它的作品! 感谢您的所有答案。

+0

你是否已经检出这个类似的问题? http://stackoverflow.com/questions/7154988/will-jquery-load-work-on-phonegap – Jon

回答

0

多次尝试后,我注意到,请求工作(我接收到的数据),但有一些问题,同时访问JSON数据内容。

0

试试这个.. 我不知道它在这种情况下工作,但它为我工作。

<?xml version="1.0" encoding="utf-8"?>
<phonegap>
<access origin="http://127.0.0.1*"/>
<log level="DEBUG"/>
</phonegap>