gpt4 book ai didi

javascript - 如何使用 Redux/Axios 捕获和处理错误响应 422?

转载 作者:IT王子 更新时间:2023-10-29 03:11:07 24 4
gpt4 key购买 nike

我有一个向服务器发出 POST 请求以更新用户密码的操作,但我无法处理链接的 catch block 中的错误。

return axios({
method: 'post',
data: {
password: currentPassword,
new_password: newPassword
},
url: `path/to/endpoint`
})
.then(response => {
dispatch(PasswordUpdateSuccess(response))
})
.catch(error => {
console.log('ERROR', error)
switch (error.type) {
case 'password_invalid':
dispatch(PasswordUpdateFailure('Incorrect current password'))
break
case 'invalid_attributes':
dispatch(PasswordUpdateFailure('Fields must not be blank'))
break
}
})

当我记录错误时,这是​​我看到的:

Error Logged

当我检查网络选项卡时,我可以看到响应主体,但由于某种原因我无法访问这些值!

Network Tab

我是否不知不觉地在某处犯了错误?因为我可以很好地处理来自不同请求的其他错误,但似乎无法解决这个问题。

最佳答案

例子

getUserList() {
return axios.get('/users')
.then(response => response.data)
.catch(error => {
if (error.response) {
console.log(error.response);
}
});
}

检查响应的错误对象,它将包含您要查找的对象,因此您可以执行 error.response.status

enter image description here

https://github.com/mzabriskie/axios#handling-errors

关于javascript - 如何使用 Redux/Axios 捕获和处理错误响应 422?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38798451/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com