Tôi có một hành động thực hiện yêu cầu POST
tới máy chủ để cập nhật mật khẩu của người dùng, nhưng tôi không thể xử lý lỗi trong khối catch bị chặn.Làm thế nào để nắm bắt và xử lý đáp ứng lỗi 422 với Redux/Axios?
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
}
})
Khi tôi đăng nhập lỗi đây là những gì tôi thấy:
Khi tôi kiểm tra tab mạng tôi có thể nhìn thấy cơ thể phản ứng, nhưng đối với một số lý do tôi không thể truy cập giá trị!
Có tôi vô tình đã làm sai ở đâu đó? Bởi vì tôi đang xử lý các lỗi khác từ yêu cầu khác nhau, nhưng dường như không thể làm việc này.
Cảm ơn phản hồi chi tiết của bạn, tôi đã đi qua mã vùng lưu trữ đã giúp. Cuối cùng, tôi đã ghi lại đối tượng và có thể thấy đối tượng phản hồi và xử lý dữ liệu. mã bổ sung: 'let e = {... error}' 'chuyển đổi (e.response.data.type)' – Cnolimit