Hola, tengo un problema al obtener la entrada de html al nodo y enviarla a la base de datos. Lo que obtengo ahora es el tipo de entrada "indefinido". Así que si alguien pudiera ayudarme, realmente lo apreciaría. aquí abajo está mi código html y node.js
| | | | | | \ / \ / \ / \/HTML
<form action="database" method="POST"> <div class="form-group" id="test"> <label for="fname">First name</label> <input type="text" id="fname" placeholder="First name: " name="fname"> </div> <div class="form-group"> <label for="lname">Last name</label> <input type="text" id="lname" placeholder="Last name: " name="lname"> </div> <div class="form-group"> <label for="state">state: </label> <input type="text" id="state" name="state" placeholder="sate: "> </div> </form>NODO.js
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "", database: "test" }); var fname = req.body.fname; var lname = req.body.lname; var state = req.body.state; con.connect(function(err) { if (err) throw err; var sql = `INSERT INTO customers (c_fname, c_lname, c_state) VALUES ("${fname}", "${lname}", "${state}")`; con.query(sql, function (err, result) { if (err) throw err; console.log("1 record inserted, ID: " + result.insertId); }); });Parece que te faltan partes cruciales. Recomiendo revisar algunos tutoriales/videos para comprender cómo funciona la solicitud-respuesta en la web. Dado que está utilizando Node.js, este artículo explica cómo manejar formularios que utilizan express.js como servidor de aplicaciones.
diagrama de flujo de muestra de solicitud-respuesta. fuente: MDN
Suponiendo que index.html e index.js (su archivo node.js) están en la misma carpeta, podría hacer,
const express = require('express'); var bodyParser = require('body-parser') const app = express(); var urlencodedParser = bodyParser.urlencoded({ extended: false }) app.get('/', (req, res) => { res.sendFile(__dirname + '/index.html'); }); app.post('/', urlencodedParser, (req, res) => { console.log('Got body:', req.body); // add logic to insert into db here. res.sendStatus(200); }); app.listen(3000);Además, parece que le falta el botón de enviar en su html.