Node.js Express nodejs POST方法返回空括号
我无法从我的表格中获得值。我使用一个基本的HTML表单来发送我的数据。当我尝试在控制台中测试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
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”属性。。。问题就出在那里,否则其他一切都正常。