我如何从这个API中获取数字并放入脚本中

时间:2015-06-09 19:59:19

标签: jquery

我不是很擅长这一点,而我对此的看法很容易消失。我有一个小的简单脚本启动并运行,我分配了这个var,所以每个联盟都可以插入他们所需的启动器数量,脚本可以完成所需的操作。但我只是要求网络开发人员将这个数值添加到他们的API中,希望我可以使用该脚本消除每个联盟的任何手动编辑。

var RequiredStarters = 9;   // ENTER THE NUMBER OF STARTERS YOUR LEAGUE REQUIRES

" 9"的价值现在存储在他们的API中 - http://football30.myfantasyleague.com/2015/export?TYPE=league&L=15787&W=&JSON=0您可以看到 starters count =" 9" ,但我对如何在我的内部获取它感到无能为力下面的脚本,#的行为与我设置的var相同。

<script type="text/javascript">

var RequiredStarters = 9;   // ENTER THE NUMBER OF STARTERS YOUR LEAGUE REQUIRES

$(document).ready(function () {
  $.get('http://%HOST%/%YEAR%/options?L=%LEAGUEID%&O=06', function (data) {
    $(data).find('td.two_column_layout .report').each(function(index, element){
      if($(this).find("tr.oddtablerow, tr.eventablerow").length !== +RequiredStarters && $(this).attr("id") !== "InvalidLineup"){
        var target = $("#InvalidLineup").find("tbody");
        $(this).find("span a").each(function(){
            target.append("<tr class='oddtablerow'><td>" + $(this)[0].outerHTML + "</td><td class='lineupalert'><a class='lineuplink' href='http://%HOST%/%YEAR%/options?LEAGUE_ID=%LEAGUEID%&O=02&%FRANCHISEID%'>Submit Valid Lineup</a></td></tr>");
        });
      }
    });
      var $lineuprow = $("#InvalidLineup tr");
        if ($lineuprow.length == 1) {
        $lineuprow.text("All Teams Have Valid Lineups").addClass( "oddtablerow" ).wrapInner( "<td class='noevent'></td>" );
}
  });
});
</script>

1 个答案:

答案 0 :(得分:1)

首先,您需要获取XML,然后解析所需的数字。但是,因为它是异步请求,所以在定义count之前,您希望暂停运行其余代码。

var RequiredStarters; //we might need scope
$.get('http://football30.myfantasyleague.com/2015/export?TYPE=league&L=15787&W=&JSON=0',function(data) {
    RequiredStarters = $(data).find('starters').attr('count');
    //the rest of your stuff here
});

需要注意的事项:

  1. XML必须托管在同一个域上,否则大多数浏览器都不会允许ajax请求。
  2. 在XML和HTML ajax请求之间,它可能是通过ajax下载大量信息而浪费的。您可以考虑将此信息存储在数据库中(假设它甚至是一个选项)。
  3. 如果您希望在网址中更改JSON = 1,请使用$.getJSON代替$.get并且:

    RequiredStarters = data[0].league.starters;
    
    祝你好运!