2013-01-14 61 views
0

我最近下載了XCode4.5.2和PhoneGap2.3.0以及Cordova 2.3.0來開發iOS應用程序。我試圖用這個函數從維基百科API獲取一些數據:getJSON不工作/ phonegap.plist找不到

<!DOCTYPE html> 
    <html> 
    <head> 

     <script type="text/javascript" src="cordova-2.3.0.js"></script> 
     <script type="text/javascript" src="js/index.js"></script> 
     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 

     <script> 
     function get_data(){ 

       var query = 'Ocean'; 
       var url = 'http://en.wikipedia.org/w/api.php?callback=?&action=parse&format=json&page='+query+'&prop=text'; 
       alert(url); 

       $.getJSON(url,function(response){ 
          alert('Here!'); 
          }); 

         }; 


     </script> 

     </head> 
     <body> 
     <input type="button" value="search" onclick="get_data()" /> 
     </body> 
    </html> 

但是,我不能做這個工作。警報(url)工作正常,但不是警報('Here!')。 這個問題似乎在PhoneGap的getJSON函數中。

我讀過一些文章,解決方案可能是「將您的域添加到phonegap.plist的ExternalHosts部分」或「在config.xml文件中放入適當的Access標籤」。我無法在Cordova的2.3.0版本中找到phonegap.plist文件(它是否存在?!)。只有config.xml(我已經確認具有<access origin="*" />)。

有人可以幫我解決這個問題嗎?

回答

0
  1. 據我所知,getJSON是一個jQuery函數,爲什麼不包含jQuery的js文件?
  2. 你的函數調用者在哪裏?如果你希望它在負荷下運行,使用

    $(函數(){ GET_DATA(); }

+0

可以粘貼您的最後一次修改HTML代碼 –

+0

我已編輯的代碼? 。請參閱上面修改過的html代碼上面的內容任何想法爲什麼alert('Here!')不會出現?謝謝 – Andre

+0

嘗試對文本使用常規ajax函數,也許您的調用響應不包含有效的JSON內容.. $ .ajax({url:url, cache:false, dataType:'text',(函數(resp)){alert(resp);}}。 }); –