我有一個API調用是解析通過用戶數組,同時將一些JSON數據的元素附加到for循環與div。我的問題是,我有一個嵌套在另一個API調用檢查流狀態的if語句。如果stream爲空,它應該附加一個img,反之亦然。如果語句與動態追加div
問題是,if語句似乎通過用戶數組解析,但隨後將語句的所有結果附加到每個用戶行。我試圖將if語句分別應用於數組中的每個用戶,然後附加正確的img。我假設問題是,每個動態附加div具有相同的類是由if語句的目標。讓我知道你們的想法。
$(document).ready(function() {
var users = ["ESL_SC2", "OgamingSC2", "cretetion", "freecodecamp", "storbeck", "habathcx", "RobotCaleb", "noobs2ninjas"];
for (var i = 0; i < users.length; i++) {
// channel call for info, name, logo
$.getJSON('https://wind-bow.gomix.me/twitch-api/channels/' + users[i] + '?callback=?', function(datax) {
console.log(datax);
$('#streams-list').append(
'<div class="row">' +
'<div class="col-md-1">' +
'<img src=' + datax.logo + ' class="stream-icon">' +
'</div>' +
'<div class="col-md-9 stream-row">' +
'<li class="list-group-item stream-list">' + datax.name + '</li>' +
'</div>' +
'<div class="col-md-1">' +
'<li class="list-group-item status-row"></li>' +
'</div>' +
'<div class="list-group-item col-md-1 icon-shell status-symbol" >' +
'</div>' +
'</div>'
);
});
}
var online = [];
var offline = [];
for (var x = 0; x < users.length; x++) {
// stream call for status
$.getJSON('https://wind-bow.gomix.me/twitch-api/streams/' + users[x] + '?callback=?', function(data) {
var status = data.stream;
console.log(status);
if (status == null) {
$('.status-symbol').append(
'<img src="icons/ic_highlight_off_black_48dp_2x.png" class="status">'
)
} else {
$('.status-symbol').append(
'<img src="icons/ic_done_black_48dp_2x.png" class="status">'
)
}
});
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
在您的情況下,您可以在第一個'$ .getJSON'成功處理程序中調用第二個'$ .getJSON'! –
@ A.Akram這隻會在他連接圖像的情況下才起作用,使用當前追加會得到相同的結果 – madalinivascu