Хорошая практика для перенаправления страниц? - PullRequest
6 голосов
/ 07 января 2010

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

Ответы [ 5 ]

12 голосов
/ 07 января 2010

Таким образом, если пользователь перезагрузит страницу, браузер не отправит еще один POST.

Например, если страница является страницей подтверждения заказа, вы не хотите, чтобы заказ повторялся, если пользователь обновляет страницу.

1 голос
/ 07 января 2010

Это потому, что если пользователь отправляет форму и попадает на страницу благодарности, а затем обновляет эту страницу, браузер предложит пользователю повторно отправить форму, создавая два сообщения для вашего обработчика данных.Если вы перенаправляете на страницу с благодарностью с помощью GET, то записи сообщения остаются пустыми, поэтому форма не будет отправлена ​​повторно.

Я не уверен, что это все еще считается хорошей практикой - ничего не слышал по этому вопросу длянекоторое время.

0 голосов
/ 07 января 2010

Если вы не можете вспомнить, почему это хорошая практика, тогда, возможно, нет хорошего оправдания этому.

ИМХО, это случай колебаний и обходных путей - и, конечно, легко спорить об обратном - зависит ли его хорошая практика или нет от того, насколько он соответствует остальной части вашего кода.

С

0 голосов
/ 07 января 2010

GET является идемпотентом, а POST - нет. Если пользователь перезагрузит страницу (или вернется туда, нажав кнопку «Назад» в браузере), ничего не сломается.

0 голосов
/ 07 января 2010

Я бы предположил, что это так, чтобы следующая страница стала закладкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...