尝试用json填充listview

时间:2013-04-11 21:59:02

标签: php json jquery-mobile

我正在尝试制作一个高尔夫应用程序/ webapp,我可以从列表视图中找到即将到来的匹配...但是。

如果我想让它成为一个应用程序,我需要使用json填充我的listview。我对此有点新意,但尝试过这样:

我的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>

我没有得到任何结果: - /不知道我这样做是否正确,任何帮助都是不合理的。我创建了一个jsfiddle项目:http://jsfiddle.net/jmansa/r88t7/

希望得到帮助并提前致谢: - )

1 个答案:

答案 0 :(得分:1)

您无法发出远程ajax请求,您需要的是通过在您的请求网址附加回调来获取jsonp,例如:

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

});

但是远程主机应该接受jsonp调用才能返回数据。

如果它不支持jsonp,那么只需在你的主机上创建一个php脚本,使用curl从远程主机获取数据,然后从jquery,而不是查询远程主机,查询你的本地php文件执行curl请求并返回json对象。