javascript - Node.js (Express) 在下一个屏幕上 POST 表单数据
问题描述
我当前的数据流如下:
Page1 - 用户使用 a 输入数据<form>
并单击“查看”。
Page2 - 用户可以查看从前一个屏幕收集的数据并单击“发送”。收集的数据现在通过对端点的 POST 请求发送到后端。
我目前的表达逻辑:
在 Page1 上,我使用 a<form method="POST" action="/review">
和 on submit
,将表单数据传递给表达路线。如下所示:
app.post('/review', function(req, res){
req.session.name = req.body.name;
res.render('review.njk', { name: req.body.name });
});
在第 2 页上,我正在使用另一种<form method="POST" action="/send">
形式submit
,我正在从会话中获取数据并调用 POST 请求。
app.post('/send', function(req, res){
// POST using req.session.name as request data
});
我的顾虑:
- 我在一个表单上有很多字段,并且有很多带有表单的页面,并且不希望有会话管理开销(在每次成功调用时从会话中删除数据等)。
- 也为此目的使用第二种形式对我来说似乎是不正统的。第二个“假”表单的目的只是将数据传递到第二个路由。或者,您可以有 10 个隐藏表单输入,其中包含收集数据的值以及 10 个元素来显示评论数据,然后
submit
将它们发送到后端。在这两种情况下,我认为这似乎有点不干净。
所以,我的问题是 - 使用 Express(而不是 AJAX),有没有更好的方法来做到这一点(从第一页收集表单数据,在下一页显示,然后提交数据)?
任何帮助深表感谢。提前致谢!
解决方案
推荐阅读
- python - 使用正则表达式在文本文件中用另一个相同大小的数字替换一个数字
- php - 如何使用 php 在网站上提供来自 mysql 数据库的信息
- mysql - 计算多列中的匹配项
- java - 如何允许 webview 上的多个窗口使 facebook 登录正常工作?
- react-native - 最简单的带有 Hooks 的组件未能通过 Jest 测试并出现错误“不变违规:只能在函数组件的主体内调用 Hooks”。
- python - 是否可以从列表理解中调用函数而无需调用函数的开销?
- android - android是否支持大型数据库表
- java - Java 多态性和重载不同的数据类型
- sql - 长时间运行的查询 - 提高 Redshift 性能的建议
- amazon-elastic-beanstalk - 错误:CommandError - 未安装 SSH。在继续使用 ebcli 之前,您必须安装 SSH