我记得在某个地方读到过,使用GET重定向页面以显示POST请求后的下一页是一个很好的做法。为什么呢?
这是因为如果用户提交表单并进入感谢页面,然后刷新该页面,浏览器将提示用户重新提交表单,从而创建两个帖子到您的数据处理程序。如果您使用GET重定向到感谢页面,则post变量为空,因此不会重新提交表单。
我不确定它是否仍被认为是良好的实践-已经有一段时间没有听到关于这个主题的任何消息了。
GET
是幂等的,而 POST
不是。如果用户重新加载页面(或通过单击浏览器的“后退”按钮返回到该页面),则不会出现任何问题。
如果你无法记住为什么这是一种良好的实践,那么可能没有一个很好的理由来证明它。
在我看来,这是一种得失平衡的情况 - 当然可以轻松地争论相反的观点 - 它是否是一种良好的实践,实际上取决于它如何与您代码的其他部分结合。
C.