Ich mache einen "Viewer" für Twitch TV, der anzeigt, ob TV-Kanäle online, offline oder nicht vorhanden sind. Ich benutze die API für Twitch TV. Ich habe die Kanalnamen in einem Array gespeichert, aber wenn ich versuche, ein Array-Element an ein HTML-Element anzuhängen, wird 'undefined' angezeigt. Das Array ist eine globale Variable.
Mein Code ist in this fiddle.
HTML:
<div class="container-fluid">
<div class="row row-centered">
<div class="col-md-4"></div>
<!-- This is a div containing divs for each channel -->
<div class="col-md-4 col-centered" id="displayHere">
</div>
<!-- The container div end here -->
<div class="col-md-4"></div>
</div>
</div>
Mein Javascript:
$(document).ready(function(){
streamsArr= ["ESl_SC2","OgamingSC2","cretetion","freecodecamp","storbeck","habathcx","RobotCaleb","noobs2ninjas","brunofin","comster404"];
for(var count=0;count<streamsArr.length;count++){
$.getJSON("https://api.twitch.tv/kraken/streams/"+streamsArr[count]+"?callback=?",function(data){
if(JSON.stringify(data.stream)=="null")
{
$("#displayHere").append("<div style=\"padding:1%;\"><span style=\"font-size:1.3em;\"> "+streamsArr[count]+"</span><span style=\"color:red;\">OFFLINE</span></div>");//shows 'undefined'
}
else if(data.hasOwnProperty("error"))
{
$("#displayHere").append("<div style=\"padding:1%;\"><span style=\"font-size:1.3em;\"> "+streamsArr[count]+"</span><span style=\"color:red;\">UNAVAILABLE</span></div>");//shows 'undefined'
}
else{
$("#displayHere").append("<div style=\"padding:1%;\"><span style=\"font-size:1.3em;\"> "+JSON.stringify(data.stream.channel.display_name)+"</span>"+JSON.stringify(data.stream.game)+"</div>");
}
});
}
});
Kann mir jemand sagen, wo der Fehler liegt? Vielen Dank.
Mögliches Duplikat von [jQuery/Ajax - $ .ajax() Parameter an Callback übergeben - gutes Muster zu verwenden?] (Http://stackoverflow.com/questions/1194104/jquery-ajax-ajax-passing-parameters- zu-Rückruf-gutes-Muster-zu-verwenden) – Kira