Задать вопрос
@aspirantes

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

Есть ли решения данной проблемы без прикручивания ajax, фреймворков, редиректов. Чтобы после отправки формы и перезагрузки страницы, форма не отправлялась повторно? Редирект не помогает при возврате на страницу, да и сам метод из разряда (спрятать). Возможно ли сообщить браузеру, чтобы не сохранял форму POST?
  • Вопрос задан
  • 188 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
1. отправлять форму через XHR / fetch (ajax post).
2. редирект после отправки формы - типовое и надёжное решение
3. можно сохранять в сессию последнюю отправленную форму. и если видим дубликат данных то игнорировать этот post-запрос.

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽