hummingbird
@hummingbird

Как ограничить себя от беспрерывных ajax запросов?

Здравствуйте!

Представим - есть простой ajax запрос. Простого JS ограничения по таймеру тут мало, его можно выпилить, либо же просто заменить JS функцию с ajax на свою. Как в бэкенде реализовать задержку в виде, например, 5 секунд?

Например, пользователь нажал на кнопку. Сработал Ajax. И что нужно сделать, чтобы в бэкенде 5 секунд следующий "привет" от Ajax (от фронта) игнорировался?
  • Вопрос задан
  • 424 просмотра
Пригласить эксперта
Ответы на вопрос 3
passshift
@passshift
php, js, html5, css
slep(5);
, только в этом случае запрос всеравно будет исполнен по истечению 5 секунд

Ну или записывать в бд (или в куку, или в сессию) id юзера и дату обращения, затем при каждом запросе сверяться, вычисляя разницу во времени, если она меньше 5 секунд, то делать die
Ответ написан
Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.
Не вижу проблем. Перед показом проверяйте переменную с меткой времени. Если разница меньше 5 секунд return false, если больше - пишите метку в переменную и продолжайте скрипт.
Ответ написан
iCoderXXI
@iCoderXXI
React.JS/FrontEnd engineer
Можно попробовать дико извратиться и поставить заголовки кеширования на 5 минут PHP-скриптом. Я так не делаю, но почему бы нет?...

Т.е. браузер будет в течении 5 минут отдавать данные из своего кеша, и запрос до сервера не дойдет как не крутись... Если не кешировать, то сервер будет давать отлуп, но в целом нежелательная нагрузка будет иметь место, что не айс...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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