Axios始终返回[AxiosError:请求失败,状态代码为400]

qvsjd97n  于 2023-10-18  发布在  iOS
关注(0)|答案(1)|浏览(197)

在catch块中,Axios不会以JSON的形式返回错误。
注册页面

const handleSignup = async () => {
    try {
      setIsLoading(true)
      const res = await axios({
        url: 'http://10.0.2.2:8080/signup',
        method: 'POST',
        data: { name, email, password },
      })
      Alert.alert(res.data.message)
    } catch (err) {
      console.error(err);
    } finally {
      setIsLoading(false)
    }
  }

服务器端

return res.status(400).json({ data: { message: 'Email already exists.' } })

我希望它返回错误消息“电子邮件已存在”,但它返回[AxiosError:请求失败,状态代码为400。我尝试了各种方法,但没有得到预期的结果。

h9vpoimq

h9vpoimq1#

根据文档Handling Errors
通过error.response.data访问catch块中的错误响应体
在您的情况下:

catch (err) {
      console.error(err.response.data.data.message);
}

相关问题