2012-05-15 106 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>