首页 > 解决方案 > 我的 Express 应用程序中任何参数的 req.body 都返回未定义

问题描述

所以我现在已经尝试 DAYS 来使用 req.body 和 np 从输入中请求数据,不管我做什么,我一直将数据获取为未定义> 我正在使用 Express

我试过添加正文解析器,但这也没什么区别

我在通过 putty 和 WinScp 访问的远程服务器上使用 express 我已经检查了很多次参数是否正确,并且确实花了几天时间在这个上面,请帮助!

这是我的快递 app.js 文件

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');



var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');


var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));


app.use('/', indexRouter);
app.use('/users', usersRouter);

这是我在 index.js 中使用的 post 方法

});router.post('/regnew', function(req, res, next) {
var username = req.body.username;
var email = req.body.email;
var password = req.body.password;

console.log("username" + username);

  res.render('registration');
});

标签: node.jsexpressrequestundefined

解决方案


提交传统表单时,必须设置“名称”属性,以便服务器端代码可以识别正在发送的值,否则,所有输入将是未定义/空/无效。


推荐阅读