对于成功的使用案例,Post/Redirect/Get (PRG) 工作流程非常简单:只需将页面重定向(客户端)到所需页面即可。但是,在服务器端验证过程中遇到错误并且我们希望在再次显示输入页面时保留输入内容,该怎么办呢?
据我所知,有两种方法:在提交表单后(即无需重定向),在出现错误时简单地重新渲染输入页面(因此忽略了 PRG 模式);或者重定向到输入页面,并在呈现期间将先前的输入存储在某个可以稍后检索的位置(例如会话)中。这两种方法都有缺点:在第一种方法中,我们面临 PRG 模式帮助我们避免的问题(例如可打书性和重复提交);第二种方法会导致 GET 请求不一致(第一个 GET 将找到存储的输入,后续的 GET 可能不会)。这里是否有其他替代方案?我希望社区能够提供最佳处理此案例的意见。