Как правильно на страницы с пагинацией сообщить клиенту об изменении?

В таблице изменилась одна запись, как мне сообщить клиенту об этом изменении ?
Как я понимаю текущую страницу и количество отображаемых на ней записей я не знаю,
так как это информация хранится на клиенте. То есть в случае изменения какой то записи,
мне нужно отправить клиенту событие об этом. В соответствии с которым он отправить запрос
с выбранной страницей и пагинацией снова, но как сделать это только с том случае, если пользователь
находится на странице с записью ? Если в этот момент была добавлена,новая запись и пагинация съехала ?
  • Вопрос задан
  • 79 просмотров
Пригласить эксперта
Ответы на вопрос 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Ничего не отправляйте это оверинженеринг. При следующей пэйджинации просто перестроите паджинатор.
Или если совсем не терпится выведите в иконку уведомлений бэдж с количеством новых тем.
Ответ написан
@BorisKorobkov
Web developer
Вы сами решаете, что и как сделать:
  1. Ничего не обновлять автоматически. Как перейдет на новую страницу - так и перерисуете всё. Если окажется на несуществующей странице - сделаете редирект на существующую. Просто.
  2. По таймауту из браузера делать ajax-запросы на сервер с указанием текущей страницы. Если что-то изменилось - перерисовать, при необходимости сделать редирект. Криво.
  3. Через сокеты сервер всем клиентам шлет все изменения (вернее, не все, а только те, к которым конкретный клиент имеет доступ). Если что-то изменилось - перерисовать, при необходимости сделать редирект. Красиво.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы