MVC 与请求处理 · 第 8 题,共 12 题
为什么 Extbase 中的 createAction() 通常用 $this->redirect() 重定向到另一个动作?
有 1 个正确答案。 简单
显示答案
答案
- C 这样刷新页面时不会重复提交表单并创建重复记录
解析
这种模式称为 Post/Redirect/Get:redirect() 发送 HTTP 303 "See Other" 响应,浏览器丢弃 POST 请求体,并通过 GET 请求目标页面。如果访问者随后按 F5 或返回按钮,重复的只是 GET 请求,而不是表单提交。注意:redirect() 返回一个响应,所以必须写成 return $this->redirect('list');。flash 消息不重定向也能使用,但默认存储在 session 中,以便在重定向后依然保留。