Nodejs bodyparser, возвращающий undefined для переменных тела - PullRequest
0 голосов
/ 17 сентября 2018

Я пытаюсь извлечь данные POST, используя скрипт NodeJS (с Express).Тело получено, но я не могу извлечь переменную из него при публикации на странице с Почтальоном .Переменная не определена, хотя я использовал один и тот же код, который нашел в разных вопросах.Я правильно установил Nodejs, express и body-parser.

Чтобы уточнить, я публикую данные формы с почтальоном с ключом '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 );
});

1 Ответ

0 голосов
/ 17 сентября 2018

Я полагаю, это связано с кодировкой:

  • JSON: вам нужно установить заголовок с Content-Type: application / json и добавитькодирование в экспрессе перед маршрутом:

    app.use (bodyParser.json ());

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

В противном случае вы можете просто использовать опцию x-www-form-urlencoded и установить входные данные

...