在POST注册新用户的过程中,我检查该用户是否已经存在于mongoDB数据库中,如果存在,则在注册表单附近的react中显示此信息。我正在使用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错误的请求“显示在我的注册表单。当我通过邮递员发布没有问题,响应“用户已经注册”显示在响应文本窗口,但该部分不存在时收到错误的反应端。我不能给用户发送一个错误,告诉他没有任何关于他不能注册的原因。如何在react中获取“用户已注册”?
发布于 2020-02-11 02:07:37
我已经找到了解决方案。为了在捕获错误时读取放在.I()中的自定义文本的属性,我需要从err.response.data中读取--这是读取“用户已经注册”的正确属性,我希望有一天它能对某些人有所帮助。
https://stackoverflow.com/questions/60155575
复制相似问题