2012-02-16 48 views
0

我正在嘗試爲PhoneGap設置JSON查詢,該查詢將通過Expression Engine template創建的JSONP拉入。如果我直接導​​航到我的JSON頁面http://www.lcbcchurch.com/mobileJSON/homeslideshow,我會得到正確的輸出。試圖將它拉入我的iPhone應用程序(phonegap)是另一回事。這就是說它在控制檯中找不到(404)。我檢查了我所有的鏈接,我想我正確地執行回調方法,但似乎沒有任何工作。請幫忙。下面是我對EE插件代碼:將JSON拉入phonegap結果在404

{exp:json:entries channel="slideshow" jsonp="yes" callback="{segment_3}" content_type="application/javascript"} 

和應用程序代碼:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>PhoneGap Ajax Sample</title> 
     <script type="text/javascript" src="phonegap.js"></script> 
     <script type="text/javascript" src="js/jquery.js"></script> 
     <script type="text/javascript"> 
      $.ajax({ 
         url: "http://www.lcbcchurch.com/mobileJSON/homeslideshow/results", 
         dataType: "jsonp", 
         jsonp: false 
         }); 
       function results(data) { 
        console.log(data); 
       } 

      </script> 


    </head> 
    <body> 
     <div id="main"> 

     </div> 
    </body> 
</html> 

回答

1

你確信你是白人列出您xcode項目所有外部主機?你的ajax調用看起來有點偏離......你有一個目錄和一個參數添加回調..如果你刪除,只是讓成功函數調用它將工作。

帶手機你不需要擔心crossdomain,你需要做的就是將你的xcode項目中的所有域列入白名單,方法是在你的phonegap.plist文件中向externalHosts添加一個新值 - 將關鍵字設置爲'網站'和'*'的價值,這是一個全部。

$.ajax({ 
    url: "http://www.lcbcchurch.com/mobileJSON/homeslideshow", 
    dataType: "json", 
    success:function(data){ 
    results(data); 
    } 
}); 

function results(data) { 
    for(var i = 0; i<data.length;i++){ 
    // this will log all of the images url 
    console.log(data[i].image); // just access the part you want by it's name. 
    } 
} 
+0

打印對象,你可以簡單地運行一個循環。我已經更新了我的答案。 – 2012-02-16 18:49:00

+0

我認爲這工作。現在,將結果打印到標記中的最佳方法是什麼? – nate8684 2012-02-16 18:56:11

+0

對不起,剛剛看到你的循環響應。讓我試試看! – nate8684 2012-02-16 18:56:54