【问题标题】:Not able to post form-data in node in index.js无法在 index.js 的节点中发布表单数据
【发布时间】: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/…

标签: node.js express


【解决方案1】:

编辑和推理是正确的,但只有表单本身缺少一些关键标签

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多