Estoy tratando de obtener un valor de casilla de verificación, "1" en el siguiente html, a través de req.body. Sin embargo, en el req.body, los valores de nombre de usuario y contraseña solo se incluyen (passwordConfirm tampoco se incluye).
¿Cómo puedo incluir los valores de passwordConfirm y checkbox en req.body? ¿O hay otra forma de obtener el valor de checkbox sin req.body?
<form action="/register" method="POST"> <label for="username">Username:</label> <input type="text" id="username" name="username"><br><br> <label for="password">Password:</label> <input type="password" id="password" name="password"><br><br> <label for="passwordConfirm">Confirm Password:</label> <input type="password" id="passwordConfirm" name="passwordConfirm"><br><br> <label>?</label> <input type="checkbox" id="checkbox" name="checkbox" value="1"><br><br> <button type="submit">Submit</button> </form>índice.js
const controller = require("controller.js"); app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.post("/register", controller.newUser);controlador.js
function newUser(req, res){ console.log(req.body.checkbox);//returns undefined } module.exports =. { newUser }Intenté poner <script> en html para incluir una función que devuelve el valor de la casilla de verificación que accede al objeto del documento y llamé a la función en un archivo js del lado del servidor, pero no funcionó (el js del lado del servidor no puede llamar a la función en el cliente- lado js).
Probé el siguiente código del lado del servidor, funciona.
app.use(express.urlencoded({ extended: false })); app.post("/register", express.json(),(req, res) => { console.log(req.body); });const express = require('express'); const app = express(); /** Decode Form URL Encoded data */ app.use(express.urlencoded()); /** Show page with a form */ app.get('/', (req, res, next) => { res.send(`<form method="POST" action="/"> <input type="text" name="username" placeholder="username"> <input type="submit"> </form>`); }); /** Process POST request */ app.post('/', function (req, res, next) { res.send(JSON.stringify(req.body)); }); /** Run the app */ app.listen(3000);<form method="POST" action="/"> <input type="text" name="username" placeholder="username"> <input type="submit"> </form>