Nodejs bodyparser 为主体变量返回未定义
Nodejs bodyparser returning undefined for body variables
我正在尝试使用 NodeJS 脚本(使用 Express)提取 POST 数据。正文已收到,但在使用 Postman 发布到页面时,我似乎无法从中提取变量。该变量未定义,尽管我使用了在不同问题中找到的相同代码。我已经正确安装了 Nodejs、express 和 body-parser。
为了澄清,我使用 Postman 使用键 'username' 和值 'test'.
发布表单数据
有人知道我做错了什么吗?
var https = require('https');
var fs = require('fs');
var app = require('express')();
const bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var httpsOptions = {
key: fs.readFileSync('/home/privkey.pem'),
cert: fs.readFileSync('/home/cert.pem'),
};
var server = https.createServer(httpsOptions, app);
server.listen(3000);
app.get('/', function(req, res) { //On get
res.send(req.method);
});
app.post('/', function(req, res) { //On post
res.send( req.body.username );
});
我想这与编码有关:
JSON:
您必须使用 Content-Type: application/json 和
在路由之前添加 express 中的编码:
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
否则您可以只使用选项 x-www-form-urlencoded 并设置输入
我正在尝试使用 NodeJS 脚本(使用 Express)提取 POST 数据。正文已收到,但在使用 Postman 发布到页面时,我似乎无法从中提取变量。该变量未定义,尽管我使用了在不同问题中找到的相同代码。我已经正确安装了 Nodejs、express 和 body-parser。
为了澄清,我使用 Postman 使用键 'username' 和值 'test'.
发布表单数据有人知道我做错了什么吗?
var https = require('https');
var fs = require('fs');
var app = require('express')();
const bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var httpsOptions = {
key: fs.readFileSync('/home/privkey.pem'),
cert: fs.readFileSync('/home/cert.pem'),
};
var server = https.createServer(httpsOptions, app);
server.listen(3000);
app.get('/', function(req, res) { //On get
res.send(req.method);
});
app.post('/', function(req, res) { //On post
res.send( req.body.username );
});
我想这与编码有关:
JSON: 您必须使用 Content-Type: application/json 和 在路由之前添加 express 中的编码:
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
否则您可以只使用选项 x-www-form-urlencoded 并设置输入