首页 > 解决方案 > 无法在第二个 API 函数中访问第一个 API 的数据

问题描述

 <script>
        /* 1st API*/
        $.getJSON("http://cricapi.com/api/matches/?apikey=6aP8B4MImxSNxI6fevBmC2ZshO42",function(data){
         var len = data.matches.length;
         for(i=0;i<len;i++){

              id = data.matches[i].unique_id;
              ms = data.matches[i].matchStarted;
              x = data.matches[i].date;
              team_1 = data.matches[i]['team-1']
               /* 2nd  API*/
             $.getJSON("https://cricapi.com/api/cricketScore/?apikey=6aP8B4MImxSNxI6fevBmC2ZshO42&unique_id="+id,function(data1){
                    console.log(team_1);

                              });
                 }
  });

为什么我不能在第二次获得每场比赛的team_1getJSON()。它多次给出相同球队名称的输出,请帮助我获取每场比赛的球队名称。感谢任何帮助!

标签: javascript

解决方案


这个“错误”是由吊装引起的。

索引i存储为var,并且它不在本地 for 循环范围内,因此,当索引获得其最终值时,将使用相同的值。

您可以使用let关键字:

for(let i=0;i<len;i++){ ..

所以变量将是循环范围的

另请查看此链接


推荐阅读