Добрый день.
У меня следующая задача - возвращать данные из таблицы при каждом клике на кнопку (аналог "показать больше" на ajax), и все бы хорошо, но тут стала проблема - необходимо скрыть кнопку при возвращении всех материалов, но не только скрыть, сначала нужно прекратить действие скрипта как только он дойдет до последнего материала.
На PHP реализовал следующим образом -
if(кол-во вызовов ф-и > кол-ва всех материалов (COUNT) ) {
// прекратить действие
}
Использование return; в данной конструкции приведет остановке скрипта, что, конечно хорошо, но как-то уловить остановку в обработке данных на js-клиенте (данные трассируются через JSON) и отреагировать скрытием кнопки - нельзя
Реализовал через exit; if(...) { exit }; В таком случае, последний вызов подойдет по условию и javascript примет судя по всему, пустоту, потому что при проверке if(xhr.responseText == 0) результат true.
Но я не считаю такой способ удобным, как бы в таком случае поступили вы?
Может быть можно как-то проверить предыдущее состояние responseText с последующим в цикле, и если последующее не отличается от предыдущего, значит, новые данные закончились и кнопку "показать больше" можно вырубать...