【问题标题】:Forms: Should I do a POST on each page of form, or do a single POST at the end of the form flow?表单:我应该在表单的每一页上做一个 POST,还是在表单流程结束时做一个 POST?
【发布时间】:2018-12-18 23:52:18
【问题描述】:

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

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

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

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

【问题讨论】:

  • 你应该做一篇大文章,除非你允许用户用未完成的表格污染你的数据库。但当然,您可以允许用户稍后回来填写表格的其余部分。取决于您的用例。您的表单的用途是什么?

标签: reactjs forms post standards redux-form


【解决方案1】:

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

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

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

发送4个部分形式-优点:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-15
      • 1970-01-01
      相关资源
      最近更新 更多