Обновление страницы в браузере дает запрос POST или GET? - PullRequest
3 голосов
/ 21 декабря 2010

Сейчас я изучаю asp.net mvc для обработки форм и перепутал со следующим:

Что произойдет, если мы нажмем кнопку обновления в браузере? Это делает запрос POST или GET?

Ответы [ 2 ]

5 голосов
/ 21 декабря 2010

Это зависит от последнего вызова, который был сделан браузером для получения текущих данных. Например:

a) Если вы отправили форму, выполнили процедуру POST, а затем нажали «Обновить», браузер выполнит еще одну процедуру POST.

b) Если вы просто нажали на ссылку, которая переместила вас на другую страницу, выполнив GET, вы получите обновление.

Если вы только начинаете понимать методы GET / POST, есть хороший шаблон, который вы должны понять, который поможет вам не попадать в ситуации, когда данные публикуются снова и снова пользователями, которые постоянно обновляют браузер после POST:

http://en.wikipedia.org/wiki/Post/Redirect/Get

и

Пример специально для asp.net MVC

4 голосов
/ 21 декабря 2010

Какой бы метод HTTP не использовался для генерации страницы, он будет повторяться при нажатии кнопки "Обновить".

Если вы используете <% Html.BeginForm(...) %> при отправке формы, она создаст POST, а если полученная страница обновится, она будет повторять POST.

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