如何通过 Node + Express + Mongoose 中的单选按钮传递布尔值?
Posted
技术标签:
【中文标题】如何通过 Node + Express + Mongoose 中的单选按钮传递布尔值?【英文标题】:How can I pass a boolean value through a radio button in Node + Express + Mongoose? 【发布时间】:2021-12-13 05:39:51 【问题描述】:所以我正在建立一个猫救援网站,当我添加一只新猫时,我希望能够通过单选按钮添加它的性别(意思是,如果选择了“男性”单选,它应该返回 true,或者如果选择了“女性”,则应返回 false),有人知道如何执行此操作吗?
这是 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">
这是我的 javascript 文件中的 POST 路由
app.post('/cats', async (req, res) =>
const cat = new Cat(req.body.cat);
await cat.save();
res.redirect(`/cats/$cat._id`);
)
所以我尝试将值硬编码到输入中,但它不起作用。我不知道如何解决这个问题
【问题讨论】:
【参考方案1】:req.body
不会自动填充已发布的数据。 5.x Express documentation 提供以下示例,需要安装和使用 NPN 包
body-parser
和
multer
示例:
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)
)
source
这与4.x documentation 中显示的示例不同,后者看起来更简单,您可以尝试其他方法。如果您想研究如何在 Express 中解码表单数据,您无疑会在此站点上找到更多的变体和更不用说的多个类似问题。
【讨论】:
以上是关于如何通过 Node + Express + Mongoose 中的单选按钮传递布尔值?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 Node + Express + Mongoose 中的单选按钮传递布尔值?
如何使用 node-orm2 通过 Express 对两个或多个数据库进行建模?
如何读取通过服务器端 (node-express) 上的 Passport 设置的客户端 (react) cookie?
如何使用 express 框架通过 node.js 获取远程客户端的本地 IP 地址?