@aspirantes

Как избавится от двойной отправки формы, методом POST?

Есть ли решения данной проблемы без прикручивания ajax, фреймворков, редиректов. Чтобы после отправки формы и перезагрузки страницы, форма не отправлялась повторно? Редирект не помогает при возврате на страницу, да и сам метод из разряда (спрятать). Возможно ли сообщить браузеру, чтобы не сохранял форму POST?
  • Вопрос задан
  • 148 просмотров
Решения вопроса 2
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
1. отправлять форму через XHR / fetch (ajax post).
2. редирект после отправки формы - типовое и надёжное решение
3. можно сохранять в сессию последнюю отправленную форму. и если видим дубликат данных то игнорировать этот post-запрос.

Если редирект "не помогает" то прошу в студию минимальный пример кода где у вас форма + страница которая после получения формы делает редирект, а мы проверим правда ли "не помогает".
Ответ написан
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
При отображении формы делайте скрытое поле с uuid и храните его в сессии или бд. При получении смотрите это значение если оно есть то все нормально и вставляете, после вставки стираете его. Впрочем можно и до. Если нет выводите сообщение что форма уже отправлена
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
11 мая 2024, в 00:19
1000 руб./за проект
10 мая 2024, в 23:51
30000 руб./за проект
10 мая 2024, в 23:33
2500 руб./за проект