как предотвратить множественные вставки при отправке формы AJAX - PullRequest
0 голосов
/ 30 сентября 2011

На эту проблему наткнулись еще несколько человек, и для сценария без Ajax уже есть решение: Как предотвратить множественные вставки при отправке формы в PHP?

(ответил Ян25 '10 в 17:02)

Я хотел бы знать, как можно эффективно реализовать на стороне сервера и клиента аналогичное решение для следующей проблемы:

  • есть настенный список, содержащий несколько элементов, на которых пользователи могут щелкнуть кнопку «Мне нравится» с поддержкой ajax (без перезагрузки страницы)
  • у пользователя может быть открыто несколько окон браузера, в которых можнонажмите кнопку «Мне нравится»

Ожидается: только первый щелчок по кнопке «Мне нравится» для любого элемента стены учитывается на стороне сервера, и следующие запросы для элемента стеныбольше не обрабатываются.

Ответы [ 2 ]

0 голосов
/ 30 сентября 2011

Я думаю, что лучший способ - это использовать переменную сеанса, которая хранит текущее состояние, т.е. когда кто-то нажимает на кнопку «Мне нравится» на стороне сервера, вы проверяете состояние SESSION var.

0 голосов
/ 30 сентября 2011

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

...