Así que estoy construyendo un sitio web de rescate de gatos y cuando agrego un nuevo gato, quiero poder agregar su sexo a través de un botón de opción (es decir, si se selecciona la opción "Masculino", debería devolver verdadero, o si el " Femenino" está seleccionado, debería devolver falso), ¿alguien tiene alguna idea sobre cómo hacer esto?
Estos son los dos botones de radio en html
<input class="form-check-input" type="radio" name="cat[sex]" id="radioMale" value="true"> <input class="form-check-input" type="radio" name="cat[sex]" id="radioFemale" value="false">Esta es la ruta POST en mi archivo javascript
app.post('/cats', async (req, res) => { const cat = new Cat(req.body.cat); await cat.save(); res.redirect(`/cats/${cat._id}`); })Así que intenté codificar el valor de las entradas, pero no funciona. no tengo idea de como solucionar esto
req.body no se completa automáticamente con los datos publicados. La documentación de 5.x Express proporciona el siguiente ejemplo que requiere la instalación y el uso de paquetes NPN
Ejemplo:
const app = require('express')() const bodyParser = require('body-parser') const multer = require('multer') // v1.0.5 const upload = multer() // for parsing multipart/form-data app.use(bodyParser.json()) // for parsing application/json app.use(bodyParser.urlencoded({ extended: true })) // for parsing application/x-www-form-urlencoded app.post('/profile', upload.array(), function (req, res, next) { console.log(req.body) res.json(req.body) })Esto difiere de los ejemplos que se muestran en la documentación de 4.x, que parece más simple y es algo más que podría probar. Si desea investigar cómo decodificar datos de formularios en Express, sin duda encontrará más variaciones y, por no mencionar, múltiples preguntas similares en este sitio.