本文主要是介绍Post/Redirect/Get (PRG) 模式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Post/Redirect/Get (PRG) 模式
1. 解决的问题
- Step 1: 用户提交了一个表单
- Step 2: 服务器返回了一个页面
- Step 3: 用户刷新页面 (或者将该页面保存为书签下次访问)
- 问题产生: 此时表单将被重复提交,引起一些不必要的问题
注意,这里说的提交表单不是用 ajax 异步请求把数据传到服务器,而是原生的 HTML form 的 submit,不要混淆该模式的使用场景,否则会对该模式产生困惑
原生的表提交场景下,接下来展示的是后端返回的提交结果页面 !!!
2. 解决途径: Post/Redirect/Get (PRG)
即服务器收到 form 提交的 Post 请求后,并不是直接返回一个 2XX 的结果页面,而是返回一个 3XX 的重定向页面 (Redirect),定向到正确的结果页面 (Get)
更多参考
- 示例代码:https://gist.github.com/ZhenningLang/342bf9d0ddfcf9a6d4ed9c10f97e8b7a
- https://en.wikipedia.org/wiki/Post/Redirect/Get
- https://www.cnblogs.com/TonyYPZhang/p/5424201.html
这篇关于Post/Redirect/Get (PRG) 模式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!