代码之家  ›  专栏  ›  技术社区  ›  user3329290

使用数组获取Json

  •  1
  • user3329290  · 技术社区  · 12 年前

    你好,我遇到了这个问题,我似乎无法理解,因为我正在从BBC获取最新的电影,然后我正在展示它们,然后我获取每一部电影的标题,然后使用moviedb.org api获取电影的评级。但这里的问题是当我第二次使用getJson函数时,因为它不允许我将数组作为json查询之一输入。下面是我的代码:

    $(function(){
    var filmnamevar = [];
        $.getJSON('http://www.bbc.co.uk/tv/programmes/formats/films/player/episodes.json?limit=3',function(data){
            console.log('success');
            $.each(data.episodes,function(i,emp){
                $('#epis').append('<div class="episode-l">'+emp.programme+'<div id="epi-img"><img src="http://ichef.bbci.co.uk/images/ic/192x108/legacy/episode/'+emp.programme.pid+'.jpg"/></div> <div class="ep-title">'+emp.programme.title+'</div><div class="ep-title">'+emp.programme.short_synopsis+'</div></div>');
    
            console.log(emp);
            filmnamevar.push(emp.programme.title);
            console.log(filmnamevar);
            });
    
        });
    
        $.getJSON('http://api.themoviedb.org/3/search/movie?query='+filmnamevar[whichever number]+'&api_key=81c50c197b83129dd4fc387ca6c8c323&limit=1',function(data2){
            $(data2.results,function(i,rat){
                $('#epis').append('<div class="rating">'+rat.vote_average+'</div>');
            });
        });
    
        });
    
    1 回复  |  直到 12 年前
        1
  •  0
  •   helion3    12 年前

    您正在将标题附加到数组( filmnamevar )但是你正在访问 电影名称变量 就好像它是一根绳子。

    您需要循环数组,为每个标题调用一个新的getJSON请求(除非moviedbAPI允许您一次拉多个):

    for( var i = 0; i < filmnamevar.length; i++){
      $.getJSON('http://api.themoviedb.org/3/search/movie?query='+filmnamevar[i]+'&api_key=81c50c197b83129dd4fc387ca6c8c323&limit=1',function(data2){
         $(data2.results,function(i,rat){
           $('#epis').append('<div class="rating">'+rat.vote_average+'</div>');
         });
      });
    }