如何解决我的数据没有在 node
我对我的小项目有点困惑。 我在节点中做了一条路线:
router.post('/signup',userController.signUp);
这是用于注册的控制器:
const signUp = async (req,res,next) => {
const {name,email,password} = req.body;
// check if user already exists
let existingUser;
try{
existingUser = await User.findOne({email});
} catch (e){
const error = new HttpError('Signup up Failed,please try again later',500);
return next(error);
}
if (existingUser){
const error = new HttpError('User already exists,please login instead',422);
return next(error);
}
// hash password
let hashedPassword;
try{
hashedPassword = await bcrypt.hash(password,12);
} catch (e){
const error = new HttpError('Could not crate user,please try again',500);
return next(error);
}
// create new user
const createdUser = new User({
name,password: hashedPassword
})
// save new user
try {
await createdUser.save();
} catch (e){
const error = new HttpError('Signing up Failed,please try again.',500);
return next(error);
}
// generate token
let token;
try {
token = jwt.sign({
userID: createdUser.id,email: createdUser.email
},'supersecret_dont_share',{expiresIn: '1h'});
} catch (e) {
const error = new HttpError('Signing up Failed,500);
return next(error);
}
// send response
res.status(201).json({user: createdUser.id,email: createdUser.email,token });
}
我正在尝试从前端创建用户:
const getUsers = async (e) => {
e.preventDefault();
const data = {
"name": "testttt","password": "testtt2","email": "test@das.com"
}
const response = await fetch('http://localhost:5000/users/signup',{
method: 'POST',body: JSON.stringify(data)
});
console.log(response)
return response.json();
}
我得到了这个:
https://i.stack.imgur.com/bTMHM.png
我也在 app.js
(服务器)中使用:
app.use(bodyParser.json());
// cors headers
app.use( (req,next) => {
res.setHeader('Access-Control-Allow-Origin','*');
res.setHeader('Access-Control-Allow-Headers','Origin,X-Requested-With,Content Type,Accept,Authorization');
res.setHeader('Access-Control-Allow-Methods','GET,POST,PATCH,DELETE');
next();
} );
// routes
app.use('/users',userRoutes);
问题是我无法创建新用户,当我在控制器中控制台日志 req.body
时,它向我显示一个空对象,但是当我尝试从邮递员创建用户时,它可以工作。
有人可以帮我吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。