Показать сообщение отдельно
  #1 (permalink)  
Старый 22.02.2016, 19:25
Профессор
Отправить личное сообщение для hoax Посмотреть профиль Найти все сообщения от hoax
 
Регистрация: 20.09.2012
Сообщений: 151

Exit возвращает пустоту?
Добрый день.

У меня следующая задача - возвращать данные из таблицы при каждом клике на кнопку (аналог "показать больше" на ajax), и все бы хорошо, но тут стала проблема - необходимо скрыть кнопку при возвращении всех материалов, но не только скрыть, сначала нужно прекратить действие скрипта как только он дойдет до последнего материала.

На PHP реализовал следующим образом -

if(кол-во вызовов ф-и > кол-ва всех материалов (COUNT) ) { 

// прекратить действие

}


Использование return; в данной конструкции приведет остановке скрипта, что, конечно хорошо, но как-то уловить остановку в обработке данных на js-клиенте (данные трассируются через JSON) и отреагировать скрытием кнопки - нельзя

Реализовал через exit; if(...) { exit }; В таком случае, последний вызов подойдет по условию и javascript примет судя по всему, пустоту, потому что при проверке if(xhr.responseText == 0) результат true.


Но я не считаю такой способ удобным, как бы в таком случае поступили вы? Может быть можно как-то проверить предыдущее состояние responseText с последующим в цикле, и если последующее не отличается от предыдущего, значит, новые данные закончились и кнопку "показать больше" можно вырубать...
Ответить с цитированием