【发布时间】:2010-12-21 09:01:31
【问题描述】:
我现在正在学习 asp.net mvc 表单处理,但对以下内容感到困惑:
如果我们按下浏览器上的刷新按钮会发生什么? 它发出 POST 或 GET 请求?
【问题讨论】:
我现在正在学习 asp.net mvc 表单处理,但对以下内容感到困惑:
如果我们按下浏览器上的刷新按钮会发生什么? 它发出 POST 或 GET 请求?
【问题讨论】:
这取决于浏览器为获取当前数据而进行的最后一次调用。例如:
a) 如果您提交了一个表单,执行 POST 然后点击刷新,浏览器将执行另一个 POST。
b) 如果您只是单击了将您带到另一个页面的链接,执行 GET,您将执行一次刷新。
如果您刚开始了解 GET/POST 方法,那么您应该了解一个很好的模式,它可以帮助您避免遇到用户在访问后不断刷新浏览器的情况下一次又一次地发布数据的情况。发布:
http://en.wikipedia.org/wiki/Post/Redirect/Get
和
【讨论】:
当您点击刷新时,用于生成页面的任何 HTTP 方法都会重复。
如果你在提交表单时使用<% Html.BeginForm(...) %>,它会创建一个POST,如果结果页面被刷新,它会重复POST。
【讨论】: