我有一个成功的功能,我无法弄清楚为什么我没有得到数据。当我单独做它们而不使用“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 :(得分:0)
jresult
中的每个$.when().done()
都是一个数组,每个ajax调用的响应数据是该数组的第一个元素
尝试
var channelTitle = jresult1[0].display_name;