Ich sende eine Post-Anforderung an meine von meiner lokalen zu einer anderen Domäne. (Ich verwende Chrome im Entwicklermodus, um das Cors-Problem zu umgehen.)
Das ist mein Code:
axios('https://..../signup', {
method: 'POST',
data: {
email: '[email protected]',
password: 'fdsfds',
confirmPassword: 'fdsfds'
}
}).then(function(response) {
console.log('response::', response.data);
})
.catch(function(error) {
console.log('ERROR::', error.data);
});
Das Problem ist, dass ich nur den Status 400 (Bad Request)
als Antwort bekomme, während ich, wenn ich dieselbe Anfrage über curl cli/postman senden würde, den Status plus einen Text wie den folgenden erhalten würde:
[
{
"param": "email",
"msg": "Email is not valid"
},
{
"param": "password",
"msg": "Password must be at least 4 characters long"
},
{
"param": "confirmPassword",
"msg": "Passwords do not match"
}
]
Aber nicht mit Axios. Dies kann kein Cors-Problem sein, da ich get/post-Abfragen problemlos durchführen kann, ich kann einfach nicht den Körper erhalten, der mit dem Status zurückgegeben wird.
Macht nichts, console.log('ERROR::', error.response.data);
hat den Job gemacht, ich hoffe, das wird klar dokumentiert.
@samayo Vielen Dank, dass Sie darauf geantwortet haben. Es hat mich wahnsinnig gemacht, die Verwendung der einfachen XHR-Anforderung funktionierte gut, soweit es darum ging, Fehlerantworten zurückzubekommen, aber bei der Verwendung von axios fragte ich mich, warum ich die Antworten nicht auf Fehler zurückbekommen konnte, die Sie perfekt beantwortet haben. Vereinbart, es sollte einfacher in der Dokumentation zu finden sein.
Wenn ich eine Post-Anfrage mit async await-Syntax sende, wenn der Res-Status 200 ist, wird der Antworttext zurückgesendet, aber wenn der Antwortstatus 400 ist, wird der Antworttext nicht gesendet. Wie bekomme ich einen Fehler mit der async await-Syntax?
Hilfreichster Kommentar
Macht nichts,
console.log('ERROR::', error.response.data);
hat den Job gemacht, ich hoffe, das wird klar dokumentiert.