【发布时间】:2020-04-21 13:18:10
【问题描述】:
当我使用表单发送请求时,正文对象不包含所需的电子邮件值..
例如当我使用邮递员时:
这个错误是一个架构错误,因为电子邮件没有通过......
我曾尝试使用 bodyparser 解析标头,但没有运气..
但是当我使用原始 JSON 发送它时它工作正常:
我的根服务器路由:
const express = require('express');
const app = express();
const mongoose = require('mongoose');
var cors = require('cors');
app.use(cors());
app.use(function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
next();
});
// parse body on every request //
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use('/api/post', require('./routes/postRoute'));
app.use('/api/users', require('./routes/usersRoute'));
// root home page
app.get('/', (req, res) => {
res.send('hi, love you ok? bye');
});
// connect to DB //
mongoose
.connect('mongodb://localhost:27017/Express_Sessions_Wireframe', {
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true
})
.then(console.log('We have touchdown houston [DATABASE HAD CONNECTION]'))
.catch((err) => console.log(err));
// listen to server
app.listen(3000, () => {
console.log('roger roger [server listening]');
});
我的用户架构:
let User = new Schema(
{
email: {
type: String,
required: true,
unique: true
},
posts: [
{
type: mongoose.Schema.Types.ObjectId,
ref: 'Post'
}
]
},
{
timestamps: true
}
);
module.exports = mongoose.model('User', User);
我的发帖路线
const express = require('express');
const User = require('../models/userModel');
var router = express.Router();
// parse json to use in all requests got or sent by router .. which is provided by express
router.use(express.json());
// User can signUp for an account
router.post('/signup', (req, res, next) => {
User.create({
email: req.body.email
})
.then(
(user) => {
res.statusCode = 200;
console.log( 'Registration Successful!', `user ====== ${user}` )
res.setHeader('Content-Type', 'application/json');
res.json({ status: 'Registration Successful!', user: user });
},
(error) => next(error)
)
.catch((err) => next(err));
});
module.exports = router;
【问题讨论】:
标签: node.js reactjs mongodb express mongoose