Segui a instalação body-parser como o Alberto ensina no video. Porém, quando tento submeter o form de cadastro o body-parser não funciona. O console do nodemon exibe "{}" e o navegador chrome > inspect > network na solicitação exibe a mensagem:
Provisional headers are shown Content-Type:application/x-www-form-urlencoded Origin:http://localhost:3001 Referer:http://localhost:3001/produtos/new Upgrade-Insecure-Requests:1 User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36
<!-- view produtos form -->
<form action="/produtos/salvar" method="post">
<input type="text" id="title">
<input type="submit" value="salvar" />
</form>
<!-- config/express.js -->
var express = require('express');
var load = require('express-load');
var bodyParser = require('body-parser');
module.exports = function () {
var app = express();
app.set('view engine', 'ejs');
app.set('views', './app/views');
app.set('host', 'localhost');
app.set('port', 3001);
app.use(bodyParser.urlencoded({extended:true}));
//carrega as rotas automaticamente
load('routes', {cwd: 'app'})
.then('infra')
.into(app);
return app;
};
<!-- produtos.js -->
module.exports = function (app) {
app.get('/produtos', function (req, res) {
var connection = app.infra.connectionFactory();
var produtosBanco = new app.infra.ProdutosBanco(connection);
produtosBanco.lista(function (err, result) {
if(err){
res.send('<h1>Erro</h1>');
}
res.render('produtos', {livros: result});
//res.send(result);
});
connection.end();
});
app.get('/produtos/new', function (req, res) {
res.render('produto-new');
});
app.post('/produtos/salvar', function (req, res) {
var produto = req.body;
console.log(produto);
});
};