表单:我应该在表单的每一页上做一个 POST,还是在表单流的末尾做一个 POST?

Forms: Should I do a POST on each page of form, or do a single POST at the end of the form flow?

我有一个四页的表格。用户单击下一步,这会将他们带到表单的下一页。第四页表格完成。

最佳做法是什么? 我是在每个页面之后做一个 POST,所以 4 次不同的时间,还是我应该在最后一个也是最后一页做一个大的 POST 将所有用户数据推送到数据库?

每个页面都发布到不同的端点。

我的表单是使用 redux-form 和 react 创建的。

我想说这取决于您的数据库模型和您从表单中获取的数据。从第一个表单中检索的数据可能足以进行所需的数据库修改;在这种情况下,立即发送 POST 数据可能会更好。但是,如果将来的查询可能需要该数据,最好在最后发送所有数据以避免重新发送旧数据。有些人可能还会争辩说,就网络使用而言,发布多个帖子会更糟

注意:最重要的是尽量避免发送重复数据

两者都有效,我看到的主要优点是:

发送一份完整的表格 - 优点:

  • 无数据库污染
  • 更少的网络开销

发送 4 个部分表格 - 优点:

  • 您可以看到每个用户停止的地方 - 如果他们 正在购买服务或注册帐户。做很多 人们填写前两部分只是为了看到第三部分和 导航离开?
  • 您可以使用它来保存表单服务器端供人们填写 之后。您也可以使用 Redux / Local Storage for session / 浏览器存储,但您可能需要用户的功能 在一台设备上开始填写表格并在另一台设备上完成,需要 表单的服务器端存储。

如果您不打算实现服务器端存储的功能,并且如果您不需要关于它们在表单上停止位置的额外分析数据 - 只需继续并一次发送所有数据.我建议至少,您尝试将表单保存到本地存储,以便用户可以轻松地从他们离开的地方继续。