我只是简单地尝试发布到MongoDb数据库(我是Node.js的新手),并且能够将静态数据发布到我的数据库,但是由于某些原因,我无法尝试获取主体我的请求。它总是空的。
const express = require('express');
const router = express.Router();
const db = require('../db');
var bodyParser = require('body-parser');
router.use(bodyParser.json());
router.use(bodyParser.urlencoded({ extended: true }));
router.get('/', (req, res) => {
res.render('landing');
});
router.post("/addfan", (req, res) => {
var newFan = new db.Fans(req.body);
console.log(newFan);
newFan.save()
.then(item => {
res.send('saved');
})
.catch(err => {
res.status(400).send(err);
})
});
module.exports = router;
我的html页面(实际上是EJS文件,但不重要)有一个文本框,该文本框与后表单中的'/ addfan'操作相连。对新手问题很抱歉,但我使用的是body解析器,已经查看了其他所有内容,无法让我的要求实体成为非空的。
答案 0 :(得分:0)
所以我知道了。我不知道HTML字段的名称必须与MongoDB中JSON的模式完全一致。
答案 1 :(得分:0)
body-parser是应用程序级中间件。将“路由器”更改为“应用”:
app.use(bodyParser.urlencoded({ extended: true }))
app.use(bodyParser.json())