我的数据没有在 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 (将#修改为@)