0

我正在尝试制作一个高尔夫应用程序/网络应用程序,我可以在其中从列表视图中找到我即将举行的比赛......但是。

如果我想让它成为一个应用程序,我需要使用 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>

我没有得到任何结果:-/ 不知道我是否做对了,是否有任何帮助。我创建了一个 jsfiddle 项目:http: //jsfiddle.net/jmansa/r88t7/

希望提前帮助和感谢:-)

4

1 回答 1

1

您不能发出远程 ajax 请求,您需要的是 jsonp,方法是向您的请求 url 附加一个回调,例如:

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

});

但是该远程主机应该接受 jsonp 调用以返回您的数据。

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

于 2013-04-11T22:08:56.957 回答