【发布时间】:2021-06-03 14:20:45
【问题描述】:
我是 node 和 express 的新手。
所以基本上,我从 express-generator 创建的路由文件夹中删除了users.js,并试图执行index.js 中的所有内容。
通常,我必须使用form action="/users/form-data",但因为在 app.js 中,我们有
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
app.use('/', indexRouter);
app.use('/users', usersRouter);
所以,我改为使用form action="/form-data" 和
index.js 粘贴了来自users.js 的代码
router.post("/form-data", function(req,res,next){
console.log(req.body);
variable1 = req.body.somedata;
res.redirect('newpage');
});
但是console.log显示未定义,有cannot read property somedata of undefined的错误。
任何其他文件都没有问题,但我只编辑了表单操作行。 那么,我做错了什么?
编辑
如果担心的话,我的路由文件夹实际上是在“服务器”文件夹下,但我相应地编辑为var indexRouter = require('./server/routes/index');
【问题讨论】:
-
您是否添加了解析表单数据的中间件?
-
你在使用bodyParser吗?
-
@mr.loop 将
app.use(express.json());和app.use(express.urlencoded({ extended: true }));添加到您的app.js -
@MohamedOraby express.json 已经存在,将 urlencoded 变为 true 也没有任何区别
-
@mr.loop 抱歉解析表单数据需要使用 multer stackoverflow.com/questions/59014876/…