[英]push function with javascript doesn't work in this place
var members = ['herpaderpus', 'turtles_head', 'nubstep_rs', 'ardens_fide', 'newending', 'pve_bros', 'rsphilippe', 'pureismwars', 'smap51', 'iprimal_rs', 'im_mr_bloo', 'mrknowles100', 'aikohero', 'cowsbelieve', 'dombo_12', 'diovista', 'mrpixels17'];
var memberData = [];
$.each(members, function(index, member) {
$.getJSON('https://api.twitch.tv/kraken/users/' + member + '?callback=?', function(d) {
if(d.status == 404) {}
else {
var data = [];
data[0] = member;
data[1] = d.display_name;
memberData.push(data[0]);
$.getJSON('https://api.twitch.tv/kraken/streams/' + data[0] + '?callback=?', function(d) {
if(d.stream != null) {
$( "#player" ).append( "<img src='http://pso-clan.com/twitch/lib/images/online.png'>" + "<a target='_blank' href='http://www.twitch.tv/" + data[0] + "'>" + data[1] + "</a>" + " - Viewers: " + d.stream.viewers + "<br>" );
}
else {
$( "#offline" ).append( "<img src='http://pso-clan.com/twitch/lib/images/offline.png'>" + "<a target='_blank' href='http://www.twitch.tv/" + data[0] + "'>" + data[1] + "</a> - Offline<br>" );
}
});
}
});
}); alert(memberData[0]);
我似乎無法打電話
memberData.push(數據[0]);
在當前位置,警報只是顯示未定義。 為什么不能正確地將成員推送到memberData數組?
您實際上是不正確的-在.push()
處使用就很好了(在您的第一個$.getJSON()
請求的回調中)。
但是,不是在您要警告的地方,因為這是一個異步請求,因此警報會在第一個ajax請求完成之前發生。
在這里查看控制台輸出: http : //jsfiddle.net/remus/spSxE/-您將看到在任何數組推送日志記錄之前都出現了undefined
。
選項:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.