Спасибо ребята.
Цените комментарии.
Мне удалось заставить это работать частично.
Я пытаюсь это исправить, связав ajax с помощью обещаний.
Мне нужно четыре вызова ajax, один за другим.
Именно в таком порядке: они начинаются тогда, когда заканчиваются предыдущие.
Мои сообщения выходят, но, несмотря на то, что php возвращает три, шесть зацикливаются.
Вот новый код, пытающийся использовать $.when.
Насколько я знаю, его никогда не вызывают.
Нет никакого оповещения.
Кроме того, циклы html должны быть помещены в if, перебирая индекс 0 в .done, верно?
Также в основном пользовался советами Popsicle.
Только не длинная строка html
var fetchSleuth = $.ajax({
method:"POST",
url: "php/handle_community_scroll_sleuths.php",
dataType: "json"
}).done(function( data ) {
for(i = 0; i <= data.length; i++)
{
html += '<div class="sleuth"> \
<img class="img-circle" src="imagesprofile.jpg" height="34" width="34" /> \
<span><b>'+data[i].username+'</b> > '+data[i].type+'</span><br><br> \
<p class="sleuth-text">'+data[i].description+'</p> \
<p style="margin-top:12px;"> \
<a href="php/handle_like_sleuth.php?token="+data[i].token+"&username="+data[i].username+"&page=community"><i style="margin-right:6px;" class="fa fa-thumbs-o-up"></i></a> '+data[i].likes+'<b style="margin-left:8px;"></b> \
<i style="margin-left:12px;" class="fa fa-comment-o"></i> <span id="commentscount'+data[i].token+'"></span> \
<i style="margin-left:12px; margin-right:4px;" class="fa fa-retweet"></i> repost \
<i style="margin-left:12px; margin-right:4px;" class="fa fa-retweet"></i> page</p> \
<hr> \
<a href="'+data[i].link+'" target="_BLANK" >'+data[i].title+'</a> \
<hr> \
<div id="'+data[i].token+'" class="comments" style="overflow-y:scroll;max-height:24em;"></div>';
// Fetch comments for the sleuth
html += '<hr> <form method="POST" action="php/handle_comment_sleuth.php"> \
<textarea rows="4" style="width:100%;" name="comment"></textarea> \
<input type="hidden" name="token" value="TOKEN" /> \
<input type="hidden" name="username" value="USERNAME" /> \
<input style="float:right;margin-top:8px;" class="btn btn-primary" type="submit" value="POST" /> \
</form> \
<div style=\"clear:both;\"></div> \
</div>';
$('#sleuthswrapper').append(html);
}
// End fetch sleuths ajax
}),
fetchSleuthCommentCount = $.ajax({
url: "php/handle_fetch_sleuth_comment_count.php",
method:"POST",
// dataType: "html",
data:{token:sleuthToken}
}).done(function( commentsCountData ) {
$('#commentscount' + sleuthToken).append(commentsCountData);
}),
fetchSleuthComments = $.ajax({
url: "php/handle_community_fetch_sleuth_comments.php",
method:"POST",
dataType: "json",
data:{token:sleuthToken}
}).done(function( commentData ) {
if(data.length >= 1)
{
for(i = 0; i<commentData.length; i++)
{
var commentHtml = '<div class="comment"> \
<h5><b>'+commentData[i].username+'</b></h5> \
<p>'+commentData[i].comment+'</p> \
<a href="php/handle_like_sleuth_comment.php?token='+commentData[i].token+'&page=community"><i style="margin-right:4px;" class="fa fa-thumbs-o-up"></i></a><span>'+commentData[i].likes+' likes</span> \
</div>';
$('#'+sleuthToken).append(commentHtml);
}
selfObj.fetch_comment_comments_count(sleuthToken);
}
// End fetch comments ajax
}),
fetchSleuthCommentCommentsCount = $.ajax({
url: "php/handle_fetch_sleuth_comment_count.php",
method:"POST",
// dataType: "html",
data:{token:sleuthToken}
}).done(function( commentsCountData ) {
$('#commentscount' + sleuthToken).append(commentsCountData);
});
$.when(fetchSleuth, fetchSleuthCommentCount, fetchSleuthComments, fetchSleuthCommentCommentsCount).done(function(sleuthData, sleuthCommetnsCountData, sleuthCommentsData, sleuthCommentCommentsCountData){
alert('done');
});
Код (разметка):