Не могу получить тело пост запроса
Пытаясь получить тело POST запроса назад возвращается undefined. POST запрос отправлял через терминал:
curl -d test=Test -H Accept:application/json --url localhost:3000
Страница index возвращается нормально.
Код:
const express = require('express');
const path = require('path');
const ejs = require('ejs');
const app = express();
const port = 3000;
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'static'));
app.get('/', (req, res) => {
res.render('index', {});
})
app.post('/', (req, res) => {
console.log(req.body); // undefined
res.render('index', {}); // index прекрасно возвращается пользователю
})
const server = app.listen(port, () => {
console.log(`Port: ${port}`);
})
Ответы (1 шт):
Автор решения: ksa
→ Ссылка
Пробуй сам запрос отправлять таким образом
curl -d "test=Test" -H "Accept:application/json" --url localhost:3000
У нас работает вот с такими "добавками".
const express = require('express');
const path = require('path');
const ejs = require('ejs');
const app = express();
const port = 3000;
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'static'));
// Дополнительно добавить
app.use(express.urlencoded({ extended: false }))
app.use(express.json())
//
app.get('/', (req, res) => {
res.render('index', {});
})
app.post('/', (req, res) => {
console.log(req.body);
res.render('index', {});
})
const server = app.listen(port, () => {
console.log(`Port: ${port}`);
})