在Web开发领域,当表单提交中的字段无效时,是否执行POST / Redirect / GET也是一种好习惯?
通常,在这种情况下,不会进行任何敏感交易。但是,是否可以说使用POST / Redirect / GET模式仍然是一种好习惯?
在Web开发领域,当表单提交中的字段无效时,是否执行POST / Redirect / GET也是一种好习惯?
通常,在这种情况下,不会进行任何敏感交易。但是,是否可以说使用POST / Redirect / GET模式仍然是一种好习惯?
Answers:
从REST的角度来看,网络对话应该像这样
GET /示例
200 OK-包含空白表格HTML
用户填写表格
POST /示例
formfield1 =确定
formfield2 =坏
400错误的请求-包含带有错误的填充表单HTML
用户确定表单提交的问题并进行修复
POST /示例
formfield1 =确定
formfield2 =固定
201已创建-包含带有成功消息和向前链接的HTML(以及REST客户端的位置标头),也可以接受200 OK和204 NO CONTENT
无需引入重定向,这样做会破坏会话的语义。
我通常不会这样说,因为当表单中张贴的字段无效时,您通常希望提供的响应是具有相同字段填充的相同表单以及一些错误消息。通过POST / Redirect / GET执行该操作很麻烦-您如何确保GET返回的页面已经在表单字段中包含用户的条目?