Me encargaron crear una pequeña base de datos de usuarios para alguien, y estoy usando MySQL junto con Node.js para hacerlo. Mi idea era bastante simple: un formulario en un archivo .ejs, en él 2 parámetros: nombre de usuario y contraseñas, y cuando alguien ingresa los detalles, en una aplicación.post(), inserta la información ingresada del formulario en la base de datos y envía al usuario a un sitio temporal "Hecho con éxito". Aquí está la parte del código que importa:
La forma:
<form class="form-signup" action="/successful" target="_blank" method="post" enctype="multipart/form-data"> <label for="username">Username:</label> <input type="text" name="username" placeholder="Type your username" required> <br> <label for="password">Password:</label> <input type="password" name="password" placeholder="Type your password" required> <br> <button class="center" type="submit">Sign Up</button> </form>aplicación.js:
const express = require('express'); const body_parser = require('body-parser'); const mysql = require('mysql'); const app = express(); app.set('view engine', 'ejs'); app.use(body_parser.urlencoded({extended: true})); app.use(body_parser.json()); app.listen('3000', function() { console.log('Server is running at localhost:3000'); }); ... app.post('/successful', function (req, res) { let user = { username: req.body.username, password: req.body.password, created: new Date() } let sql = "INSERT INTO usernames SET ?"; let query = db.query(sql, user, function (err, result) { if (err) throw err; else console.log(req.body); }); res.status(200).render('successful'); });(Conecté la base de datos, simplemente no la mostré)
Y, sin embargo, req.body devuelve {}. Agradecería cualquier cantidad de ayuda. ¡Gracias por adelantado!