@alexeilavrov

Как правильно сделать цикл с ajax-запросами?

Сделал цикл, который перебирает ссылки на странице и проставляет рядом с ними количество комментариев. И всё бы хорошо, но есть один момент. При каждом выполнении скрипта цифры показываются разные и количество этих цифр тоже разное. Есть подозрение, что эти запросы как-то путаются. Как правильно организовать такой процесс?

Код на фидле - https://jsfiddle.net/alexeilavrov/gaL7udq9/
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ответы на вопрос 1
@raketman
Программист
1. Надо вызывать метод для всех ссылок

$('a.article-link').each(function(key, item) {
getSumComments($(item).attr('href'));
})

2. ajax запросы работае асинхронно, поэтому

var sumComments = getSumComments('https://www.metrtv.ru/articles/second_estate/11617');
console.log(sumComments);
не сработает, т.к вернет объект ajax запроса, а не ваше число

нужно передать вторым аргументом ссылку с которой работает, чтобы относительно нее изменять dom
getSumComments($(item).attr('href'), $(item));

и при получении ответа
sum = responseHC.data[0].cm2;
$(item).closest('li').find('.comments-counter').html(sum) // Предварительно создав все нужные блоки
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы