2016-02-26 93 views
0

我有一個成功的功能,我不知道爲什麼我沒有收到數據。當我單獨做它們而不使用「when」時,它正在工作,但我不確定我是否正確使用了「jresult」變量。這是抽搐的api。

success: function(streamdata) { 
    $.each(streamdata.streams, function(i, stream){ 

     var json1 = "https://api.twitch.tv/kraken/users/"+ stream +""; 
     var json2 = "https://api.twitch.tv/kraken/streams/"+ stream +""; 
     var json3 = "https://api.twitch.tv/kraken/channels/"+ stream +""; 

     $.when(
      $.getJSON(json1), 
      $.getJSON(json2), 
      $.getJSON(json3) 
     ).done(function(jresult1, jresult2, jresult3) { 
      var channelTitle = jresult1.display_name; 
      $(".bbox_content.bbox_videos .content_loader_container").remove(); 
      $(".bbox_content.bbox_videos").append($('<div class="bbox_item bbox_video_item"><a class="video_item stream_item" href="/stream/' + channelTitle + '" style="background-image:url();"><span class="img"><img width="100%" src="/images/movie_arrow.png"/></span><span class=\"video_time\"></span></a><div class="bbox_video_item_info"><span class="video_title">' + channelTitle + '</span><span class="video_status"></span></div></div>').hide().fadeIn(800)); 
     }); 
    }); 
} 

謝謝!

回答

0

每個jresult$.when().done()是從每個AJAX調用數組和響應數據是數組的第一個元素

嘗試

var channelTitle = jresult1[0].display_name; 
+0

OMG,我知道這也太...我去完全阻滯。謝啦! – rcsnooks

+0

可以改變,如果你對每個請求使用'then()'並且返回那個'then() – charlietfl