【发布时间】:2016-12-31 03:00:20
【问题描述】:
对于成功的用例,发布/重定向/获取 (PRG) 工作流程非常简单:只需将(客户端)重定向到所需页面。但是,如果在服务器端验证过程中遇到错误,并且我们希望在再次显示输入页面时保留输入,该怎么办?
据我所知,有两种方法:简单地在表单 POST 提交后重新渲染输入页面(即没有重定向)在错误期间(因此忽略 PRG 模式);或者,重定向到输入页面,并将先前的输入存储在稍后可以在渲染期间检索的位置(例如会话)。两者都有缺点:首先,我们遇到了 PRG 模式帮助我们避免的问题(例如可收藏、重复提交);第二种方法会导致 GET 不一致(第一个 GET 会找到存储的输入,随后的 GET 可能不会)。除了这里提到的还有其他选择吗?我希望社区就如何最好地处理此案提供意见。
【问题讨论】: