Html 发出Post请求,但MongoDB中仅显示对象id
请我有一个在我的html文件如下联系形式Html 发出Post请求,但MongoDB中仅显示对象id,html,node.js,mongodb,express,mongoose,Html,Node.js,Mongodb,Express,Mongoose,请我有一个在我的html文件如下联系形式 <form action="/contact" method="post"> <input type="text" name="name" id="" placeholder="Name"> <input type="email" name="email" id="" placeholder="Your Email">
<form action="/contact" method="post">
<input type="text" name="name" id="" placeholder="Name">
<input type="email" name="email" id="" placeholder="Your Email">
<textarea name="message" id="" cols="30" rows="10" placeholder="Your Message</textarea>
<button type="submit" id="form_btn">Submit</button>
</form>
我的服务器中也有此代码
const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
const cors = require('cors');
const path = require('path');
const app = express();
// Middlewares
require('dotenv/config');
app.use(bodyParser.json());
app.use(cors());
// Import routes
const contactRoute = require('./contact');
app.use('/contact', contactRoute);
// Serving static folder
app.use(express.static(path.join(__dirname, '../public')));
// Connect to DB
mongoose.connect(
process.env.DB_CONNECTION,
{ useNewUrlParser: true ,
useUnifiedTopology: true,
},
() => console.log('Connected to DB')
);
const port = process.env.PORT || 9900;
app.listen(port, () => console.log(`server started on port ${port}`));
问题是,如果我单击底部发出post请求,则会发出post请求,但在我的MongoDB数据库中,只有object_id显示为
{ “_id”:“5e19d5e39134760ad4b2e9e1”, “_v”:0 }
很奇怪,名字、电子邮件和消息都不包括在内,这意味着当我向邮递员发出发帖请求时,所有字段都显示为
{ “_id”:“5e16f824b1074516901951d7”, “名称”:“Kwame Asare Boahen”, “电子邮件”:Kwame@gamil.com", “留言”:“你好,已经很久了”, “_v”:0 }
请各位,是什么原因造成的?我正在尝试其他方法来解决这个问题,但对我来说不起作用。它与postman一起工作,因为您发送的是json,但发送的是表单 编码的数据,所以您只需要多一个中间件
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.urlencoded({ extended: false }))