由于AJAX在默认情况下是异步的,因此您的最后一行将在ajax请求完成之前得到执行。您应该在自己的
success:function(data)区域内拥有通话后结果,如下所示。请注意,我已添加
async:false到您的ajax调用中,以便内部请求按顺序进行,这将使您的对象保持同步:
$(document).ready(function() { var users = ["ESL_SC2", "OgamingSC2", "cretetion", "freeprecamp", "storbeck", "habathcx", "RobotCaleb", "noobs2ninjas"]; for (i=0; i<users.length; i++) { var url="https://api.twitch.tv/kraken/channels/" + users[i]; var user = users[i]; var logo; var channel; $.ajax ({ type: 'GET', url: url, async: false, headers: { 'Client-ID': 'hw8qejm816w6tjk88fdhfjz1wxpypm' }, success: function(data) { logo = data.logo; channel = data.name; var url2 = "https://api.twitch.tv/kraken/streams/" + user; $.ajax ({ type: 'GET', async: false, url: url2, headers: { 'Client-ID': 'hw8qejm816w6tjk88fdhfjz1wxpypm' }, success: function(data) { if (data.stream == null) { status = "Offline"; } else { status = "Online"; }; $("#channelInfo").append("<div ><div ><img src="+logo+"></div><div >"+channel+"</div><div >"+status+"</div></div>"); } }); } }); };});


