Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Express nodejs POST方法返回空括号_Node.js_Express_Post - Fatal编程技术网

Node.js Express nodejs POST方法返回空括号

Node.js Express nodejs POST方法返回空括号,node.js,express,post,Node.js,Express,Post,我无法从我的表格中获得值。我使用一个基本的HTML表单来发送我的数据。当我尝试在控制台中测试POST方法的返回时,我找不到输入的值。这是我的代码: let express = require('express'); let app = express(); // Moteur de template app.set('view engine', 'ejs'); // Middleware app.use('/assets', express.static('public')); app.us

我无法从我的表格中获得值。我使用一个基本的HTML表单来发送我的数据。当我尝试在控制台中测试POST方法的返回时,我找不到输入的值。这是我的代码:

let express = require('express');
let app = express();

// Moteur de template
app.set('view engine', 'ejs');

// Middleware
app.use('/assets', express.static('public'));
app.use(express.urlencoded({ extended: true }));
app.use(express.json());


// Routes
app.get('/',  (request, response) => {
    response.render('pages/index');
});

app.post('/', (req, res, next) => {
  console.log(req.body);
});

app.listen(8080);

我的控制台总是返回{}

Do
npm安装'主体解析器

然后像这样更新代码

let express = require('express');
let app = express();
// For FORM input
var bodyParser = require('body-parser');

// Moteur de template
app.set('view engine', 'ejs');

// Middleware
app.use('/assets', express.static('public'));

// Body parser For forms Actions 
app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json());


// Routes
app.get('/',  (request, response) => {
    response.render('pages/index');
});

app.post('/', (req, res, next) => {
  console.log(req.body);
});

app.listen(8080);


这将修复它

将其添加到代码的前面:

app.use(express.urlencoded({ extended : true}));

app.use(express.json());
正文解析器
不再需要,因为express.js中已经提供了此功能


我还建议您执行
const express=require('express');常量app=express()而不是
让express=require('express');设app=express()

你们没有导入主体解析器。嗨,谢谢你们的回答。事实上,主体解析器已被弃用,并且实际上已与Express集成。事实上,我有点惭愧,我犯了一个初学者的错误(顺便说一句,我是)。在我的表单中,我忘记在输入中输入“name”属性。。。问题就出在那里,否则其他一切都正常。