У меня проблема с тем, что мои почтовые запросы из формы отправки создают пустое тело, независимо от того, какие настройки парсера тела я использую. Мои зависимости package.json полностью обновлены, и предыдущее приложение, которое я создал (с устаревшим app.use (bodyParser);), делает это без проблем. Я пролил SO и различные сайты и пробовал каждый взлом, но, похоже, ничего не работает.
Вот соответствующие части моего app.js:
var express = require('express');
var app = express();
var http = require('http').Server(app);
var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
var routes = require('./routes/routes.js');
app.post('/checklogin',routes.post_checklogin);
Вот функция маршрута, которая вызывается по запросу:
var checkLogin = function(req,res) {
console.log(req.body)
}
Вот форма, из которой я пытаюсь получить свою форму в шаблоне pug:
form(action="/checklogin" method="post" enctype="application/x-www-form-urlencoded")
input(id="login-email" class="form-control" type="text" placeholder="email")
input(id="login-password" class="form-control" type="text" placeholder="password")
button(id="login-submit" class='btn btn-primary') Login
Независимо от того, какая комбинация настроек enctype или body parser позволяет мне иметь что-либо кроме '{}' в качестве req.body. Если бы кто-нибудь мог указать на то, что я считаю действительно глупой ошибкой, я был бы бесконечно благодарен.
Кроме того, я понимаю, что это, вероятно, не лучший способ обработки входов в систему, но это просто для того, чтобы POST-запросы работали в целом по всему приложению.