Ich habe eine Aktion, die eine POST
Anfrage an den Server macht, um das Passwort eines Benutzers zu aktualisieren, aber ich kann den Fehler im verketteten catch-Block nicht verarbeiten.Wie man Fehler 422 mit Redux/Axios fängt und handhabt?
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
}
})
Wenn ich den Fehler protokollieren ist es das, was ich sehe:
Wenn ich die Registerkarte Netzwerk prüfe ich den Antworttext sehen können, aber aus irgendeinem Grund gelange ich kann nicht die Werte!
Habe ich einen Fehler unwissentlich irgendwo gemacht? Weil ich andere Fehler von verschiedenen Anfragen in Ordnung behandle, aber scheinbar nicht funktionieren kann.
Danke für Ihre ausführliche Antwort, ging ich durch den Repository-Code, der geholfen hat. Letztendlich habe ich das Objekt protokolliert und konnte das Antwortobjekt sehen und mit den Daten umgehen. zusätzlicher Code: 'let e = {... Fehler}' 'Schalter (e.response.data.type)' – Cnolimit