reactjs - 表单:我应该在表单的每一页上做一个 POST,还是在表单流程结束时做一个 POST?
问题描述
我有一个四页的表格。用户单击下一步,这会将他们带到表单的下一页。在第四页,表格是完整的。
最佳做法是什么?我是在每一页之后做一个 POST,所以 4 个不同的时间,还是应该在最后一页和最后一页上做一个大的 POST,将所有用户数据推送到数据库?
每个页面都发布到不同的端点。
我的表单是使用 redux-form 和 react 创建的。
解决方案
两种方法都可以,我看到的主要优点是:
发送一份完整的表格 - 优点:
- 无数据库污染
- 更少的网络开销
发送 4 部分表格 - 优点:
- 您可以查看每个用户停止的位置 - 如果他们正在购买服务或注册帐户,这可能是有用的数据。很多人填写前两个部分只是为了看到第三部分并离开吗?
- 您可以使用它来保存表单服务器端供人们稍后完成。您也可以使用 Redux / Local Storage 来进行会话 / 浏览器存储,但您可能需要用户在一台设备上启动表单并在另一台设备上完成它的功能,这需要表单的服务器端存储。
如果您不打算实现服务器端存储的功能,并且如果您不需要关于它们在表单上停止位置的额外分析数据 - 只需立即将其全部发送。我建议至少,您尝试将表单保存到本地存储,以便用户轻松地从他们离开的地方继续。
推荐阅读
- pyspark - 使用 Pregel 构建树层次结构
- solr - 按常数排序
- flutter - FutureBuilder 不会等到未来完成
- c++ - Qt保持gui响应
- api - Flutter从API调用的地图内的列表中提取数据
- sql - 如何在 Postgres 中加入 2 个以 2 个不同列为条件的表?
- reactjs - 来自 React 上的引导模板的 data-setbg
- javascript - WordPress - 未捕获的不变违规:缩小的 React 错误 #200
- asp.net - IIS 10.0 http 500 在 kb5001402 和 1347 之后读取 .txt 错误
- java - 使用 LWJGL 3.2.3 build 13 创建基本 GLFW 窗口时出错