【发布时间】:2020-10-04 01:09:07
【问题描述】:
我的堆栈:React 前端、SQL 数据库、Express 中间件。 我在此处将状态下的用户注册值传递给后端:
handleSubmit = event => {
event.preventDefault();
const user = {
name: this.state.name,
email: this.state.email,
password: this.state.password
};
axios.post(`${REACT_APP_SERVER_URL}/api/users/register`, { user })
.then(res => {
console.log(res);
console.log(res.data);
})
}
我的服务器在这里响应:
router.post('/register', function(req, res) {
console.log(req.body)
db.User.findOne({
email: req.body.user.email
}).then(user => {
if(user) {
return res.status(400).json({
email: 'Email already exists'
});
}
else {
const newUser = new User({
name: req.body.user.name,
email: req.body.user.email,
password: req.body.user.password
});
bcrypt.genSalt(10, (err, salt) => {
if(err) console.error('There was an error', err);
else {
bcrypt.hash(user.password, salt, (err, hash) => {
if(err) console.error('There was an error', err);
else {
user.password = hash;
user
.create()
.then(user => {
res.json(user)
});
}
});
}
});
}
});
});
我已经记录了正在传递的用户和在我的前端读取的值,但我的后端返回一个空对象。我知道我很年轻,但我做错了什么?
【问题讨论】: