【发布时间】:2020-02-11 02:07:37
【问题描述】:
在 POST 注册新用户期间,我检查该用户是否已存在于 mongoDB 数据库中,如果是,则在注册表附近的反应中显示该用户。我正在使用 express.js 创建我的 API 和 axios 以从客户端发送请求。这就是我检查用户是否已注册的方式。
const user = await Model.User.findOne({email: req.body.email});
if(user) return res.status(400).send('User already registered');
这是点击注册按钮时调用的函数:
handleSubmit= async (userData) =>{
await apis.registerNewUser(userData)
.then(res => console.log(res.body))
.catch(err => {
console.log(err);
this.setState({errorMessage: err.message});
})
}
问题是我无法显示我在发送响应时添加的自定义错误消息。我没有得到“用户已经注册”,而是在我的注册表单附近显示“400 Bad request”。当我通过邮递员发帖时没有问题,响应文本窗口中显示“用户已注册”响应,但是在反应端收到错误时该部分不存在。我无法向用户发送一个错误,告诉他无法注册的原因。如何在反应中获得“用户已注册”?
【问题讨论】:
标签: reactjs mongodb express promise axios