我正在学习反应。我已经编写了如下的后端代码。
router.post('/signup', async (req,res)=>
{
try
{
const user = new User(req.body);
const token = await user.generateAuthToken();
res.cookie('authToken', token);
res.status(201).send();
}
catch(err)
{
res.status(400).send({err: "User Already Exists"});
}
})
关于fontend,我正在使用axios发送请求。我的代码如下。
e.preventDefault();
try
{
const res = await axios.post("/signup",{email, password});
}
catch(err)
{
console.log(err)
}
我的问题是,如何在发生错误的情况下从后端获取User Already Exists
该语句。
答案 0 :(得分:0)
如果来自后端的响应不是2xx,则catch块在前端运行,我们可以使用err.response
对象获取数据。要获取数据,请使用以下代码
try
{
const res = await axios.post("/signup",{email, password})
console.log(res.data)
}
catch(err)
{
if(err.response)
{
console.log(err.response.data)
}
}
答案 1 :(得分:0)
还有其他东西破坏了您的功能,您必须在这里调试出什么问题了:
catch(err){
console.log(err)
res.status(400).send({err: "User Already Exists"});
}