所以这是问题所在:
我正在为每个帖子循环一个 AJAX 调用。这个想法是从 ajax 调用中获取 True 或 False。但我认为循环比 ajax 调用更快,我只得到一个结果。该结果也适用于其他帖子,因此我得到的不是其他帖子的错误,而是正确的。有没有办法让循环等到ajax调用完成?
function changMonth(month, active, url){
$('#eventTimeline').empty();
$('#month1, #month2, #month3, #month4, #month5, #month6, #month7, #month8, #month9, #month10, #month11, #month12').removeAttr('class');
$(active).attr('class', 'active');
base_url = $('#base_register').val();
user_id = $('#user_id').val();
$.post(url, {'month': month} , function(data){
for(var i = 0; i < data.length; i++)
{
var splitDateString = new String(data[i].event_date);
var splitDateArray = splitDateString.split('-');
$.post(base_url + '/searchFilter/getRegisteredParents', {'event_id' : data[i].event_id}, function(data2){
checkboolean = data2.check;
ajaxFinnish = true;
}, "json");
if(ajaxFinnish == true)
{
$('#eventTimeline').append(
'<div class="post' + i + '">' +
'<h3>' + data[i].event_name + '</h3>' +
'<div class="eventImage"><img width="113px" height="113px" src="' + data[i].event_photo + '" alt=" " /></div>' +
'<div class="eventText">' + data[i].event_details + '</div>' +
'<div class="klas"><span>' + splitDateArray[2] + ' ' + maandArr[splitDateArray[1]] + '</span>' + data[i].group + '</div>' +
'</div>'
);
$(".post" + i).css({'width': '605px', 'background-color': '#FFFFFF', 'border-bottom': 'solid 1px #4c585e', 'margin': '10px 5px 5px 5px', 'overflow': 'hidden' });
if(checkboolean == "true")
{
//console.log('TRUE');
$(".post" + i).append('<a href="#" class="eventMore">Uitschrijven</a>');
}
else
{
//console.log('False');
$(".post" + i).append('<a href="#" class="eventMore">Inschrijven</a>');
}
ajaxFinnish = false;
}
console.log(checkboolean);
}
}, "json");}