【问题标题】:How can I pass a boolean value through a radio button in Node + Express + Mongoose?如何通过 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}`);
}) 

所以我尝试将值硬编码到输入中,但它不起作用。我不知道如何解决这个问题

【问题讨论】:

    标签: javascript html node.js mongodb mongoose


    【解决方案1】:

    req.body 不会自动填充已发布的数据。 5.x Express documentation 提供以下示例,需要安装和使用 NPN 包


    示例:

    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 中解码表单数据,您无疑会在此站点上找到更多的变体和更不用说的多个类似问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-31
      • 2012-12-19
      • 2015-11-19
      • 1970-01-01
      • 2014-05-28
      • 2021-04-14
      • 2014-01-30
      • 2017-08-19
      相关资源
      最近更新 更多