仅在第二个按钮上加载AJAX

时间:2016-02-15 17:26:41

标签: javascript jquery ajax

我试图从TwitchAPI加载AJAX数据。我希望将数据保存在全局变量中,这样我就可以在第一次请求后继续操作,而不是每次都再次调用API,这就是我将对象的属性推送到数组的原因。出于某种原因,当我单击触发AJAX调用的按钮时,没有任何反应。然后,如果我再次按下它,数据会加载并创建一个DIV,其中填写了所有必要的数据。为什么第一次点击时没有数据加载?谢谢!

var test = [];

var streams; 
$("#test").click(function(){
  getData();
  for (i=0; i <test.length; i++){
    title = test[i][0];
    source = test[i][1];
    generateContainers(title, source);
  }
})

function generateContainers(title, source){
    jQuery('<div/>', {
    id: 'foo',
    class: 'test widthSetter',
    href: 'http://google.com',
    title: 'Become a Googler',
    rel: 'external',
    html: "'<img src='"+source+"'</img>"+' ' +title,
}).appendTo('#contentHolder');
}

function getData(){
  URL = "https://api.twitch.tv/kraken/streams/featured";
  $.getJSON(URL, function(channel) {
    len = channel.featured.length;
    for (i=0; i <len; i++){
     title = (channel["featured"][i]["title"]);
     source = (channel["featured"][i]["image"]);
     test.push([title,source]);
     //generateContainers(title, source);
    }
  }
);

}

0 个答案:

没有答案