您可能会从研究中知道,
POST-redirect-
GET看起来像这样:
- 客户获得带有表单的页面。
- 表格
POST
发送到服务器。 - 服务器执行该操作,然后重定向到另一个页面。
- 客户端遵循重定向。
例如,假设我们具有以下网站结构:
/posts
(显示帖子列表和指向“添加帖子”的链接)/<id>
(查看特定帖子)/create
(如果通过该GET
方法请求,则向自身返回表单发布;如果是POST
请求,则创建该表单并重定向到/<id>
端点)
/posts本身与该特定模式无关,所以我将其省略。
/posts/<id>可能是这样实现的:
- 在数据库中找到具有该ID的帖子。
- 渲染带有该帖子内容的模板。
/posts/create可能是这样实现的:
- 如果请求是
GET
请求:- 显示一个空表格,目标设置为自身,方法设置为
POST
。
- 显示一个空表格,目标设置为自身,方法设置为
- 如果请求是
POST
请求:- 验证字段。
- 如果存在无效字段,请再次显示该表单并指出错误。
- 否则,如果所有字段均有效:
- 将帖子添加到数据库。
- 重定向到
/posts/<id>
(<id>
从调用返回到数据库的位置)



