Как я могу получить данные почты на сервере node js с express? - PullRequest
0 голосов
/ 29 апреля 2020

Я попробовал два промежуточных программного обеспечения, но все еще получаю этот вывод в терминале:

{}

мой node js код сервера:

express = require('express');
bodyParser = require('body-parser');

const app = express();

//the middlewares i tried
app.use(express.urlencoded({extended: false}));
app.use(bodyParser());

app.get('/', (req, res) => {
    res.sendFile(__dirname + '/client.html');
});

app.post('/test', (req, res) => {
   res.send('this is a test path');
   console.log(req.body);
});

app.listen(3000, () => {
  console.log('server listening...');
});

моя форма (клиент. html файл ):

<form method="POST" action="/test">
    <input type="text">
    <input type="submit">
</form>

Я также пытался отправить данные с почтальоном. Я знаю, что действие в форме html работает, потому что я вижу вывод «это тестовый путь» в браузере

Ответы [ 3 ]

1 голос
/ 29 апреля 2020

попробуйте

express = require('express');
bodyParser = require('body-parser');

const app = express();


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


app.get('/', (req, res) => {
    res.sendFile(__dirname + '/client.html');
});

app.post('/test', (req, res) => {
   res.send('this is a test path');
   console.log(req.body);
});

app.listen(3000, () => {
  console.log('server listening...');
});

также в форме html, добавьте name свойство во входной тег

<form method="POST" action="/test">
    <input type="text" name="email">
    <input type="submit">
</form>
0 голосов
/ 30 апреля 2020

Вы должны написать код, подобный этому

var app=express();
app.use(bodyparser.urlencoded({ extended: true }));
app.use(bodyparser.json());

app.post('/test', (req, res) => {
   console.log(req.body.email);
   res.send('this is a test path'+req.body.email);

});


0 голосов
/ 29 апреля 2020

на самом деле это работает так же, как

app.use(express.urlencoded());

Неправильным был неназванный ввод в форме html

...