Проблема «Подтверждение повторной отправки формы».Сервлеты MVC JSP javabeans - PullRequest
1 голос
/ 07 декабря 2010

Эй, ребята!почему каждый раз, когда я щелкаю что-то на своем веб-сайте и пытаюсь вернуться на одну страницу назад, появляется надпись «Подтвердить отправку формы».Я работаю на локальном сервере.Это отличается от других веб-сайтов, таких как Facebook, где я могу вернуться на страницу без этого раздражающего сообщения с просьбой обновить страницу.

Ответы [ 2 ]

1 голос
/ 07 декабря 2010

Действительно хорошее объяснение:

Из-за небрежного кодирования веб-разработчиков браузеры были вынуждены добавить это сообщение.сценарий выглядит следующим образом:

1) пользователь заполняет форму и отправляет (отправляет форму)

2) сервер обрабатывает данные публикации и отвечает новой страницей (подтверждение), помеченной как некешируется

3) пользователь переходит на новую страницу.

4) пользователь нажимает назад:

, чтобы браузер отобразил страницу на шаге 2, поскольку он помечен как no-cache, он должен запросить его с сервера, другими словами, сделатьперепечатка данных (сделайте шаг 1).здесь было введено неаккуратное кодирование, если это была оплата кредитной картой, а обнаружение репоста не было на сервере, карта взимается дважды.Это было (является) настолько распространенной проблемой, что браузеры должны были обнаружить это и предупредить пользователей.

лучшее исправление на втором шаге, сервер отправляет перенаправление на подтверждениестр.затем, когда пользователь обращается к подтверждению через историю или обратно, он получает запрос get, а не запрос post и не отображает предупреждение.

источник: http://forums.asp.net/p/1553589/3814773.aspx

0 голосов
/ 07 декабря 2010

хорошо, не бери в голову людей. по-видимому, я использовал метод POST везде. изменение его на GET решает проблему. Я думаю, что это как-то связано с кэшированием ..

...