2013-04-11 70 views
0

我想做一個高爾夫應用程序/ Web應用程序,我可以從列表視圖中找到我即將到來的匹配...但。試圖填充與JSON的列表視圖

如果我想讓它成爲一個應用程序,我需要使用json填充我的列表視圖。我有點新本,但已經嘗試過這樣的:

我的JSON數據是這樣的:

[{"season":"OOM '09","course":null,"matchform":"Stableford"},{"season":"OOM '10","course":null,"matchform":"strokeplay"},{"season":"OOM '10","course":null,"matchform":"Stableford"}] 

這裏是我設法得到它:

$(document).ready(function(){ 
    $.getJSON("http://appdata.golfacross.com/TEST_matches.php",   
       function(data){ 
        var content = [] 
        $.each(data , function(i,val){ 
         content.push("<li>"); 
         content.push("<h3>" + val.season + "</h3>"); 
         content.push("<p>" + val.matchform + "</p>"); 
         content.push("</li>"); 
        }); 
        $("#mathes_list_count").html(content.join("")); 
       }); 
}); 

而且這裏是我的html:

<div data-role="page" id="matches" data-theme="a"> 

     <div data-role="header" data-position="inline" data-theme="a"> 
     <h1>upcoming matches</h1> 
     </div> 

     <div data-role="content" id="matcheslist"> 

      <ul data-role='listview' id="mathes_list_count"></ul> 

     </div> 

</div> 

我沒有得到任何結果: - /不知道如果我這樣做的權利和任何幫助apreciated。我創建了一個項目的jsfiddle:http://jsfiddle.net/jmansa/r88t7/

提前希望能幫助和感謝:-)

+0

'$('#mathes_list_count')。listview('refresh');'追加項目後。同樣替換'.ready('用'.on('pageshow',function(){' – Omar 2013-04-11 22:05:53

+0

也應該用'{}'包裝JSON數組而不是'[''' – Omar 2013-04-11 22:14:26

回答

1

你不能讓一個遠程Ajax請求,你需要的是JSONP通過附加一個回調到您請求的URL,像:

$.getJSON('http://appdata.golfacross.com/TEST_matches.php?callback=?', {data:'here'}, function(o){ 

}); 

但是,該遠程主機應該接受jsonp調用以返回數據。

如果它不支持jsonp,那麼只需在主機上創建一個php腳本,使用curl從遠程主機獲取數據,然後從jquery中,而不是查詢遠程主機,查詢您的本地php文件將執行curl請求並返回json對象。