Service d'authentification
logout() {
this.chk.logout().subscribe((res: any)=>{
if(res.status == 200) //doesnt work{
console.log(res);
})
}
}, (err)=>{
alert("There was a problem logging you out");
});
}
Le code d'état ne s'affiche pas dans la réponse json du back-end, mais s'affiche sur l'état du facteur. Comment obtenir le code d'état.
Fichier ts
logout() {
return this.http.post(this.logOutApi, null);
}
3 Réponses :
Il vient sous error callback
, (err)=>{
alert(err.status);
});
Vous pouvez utiliser l'option {observe: 'response'} pour lire la réponse complète , y compris le code d'état dans le gestionnaire de réussite. Cela vous donnerait accès à une réponse de type HttpResponse :
Service:
logout() {
this.chk.logout().subscribe(
(res) => {
if (res.status == 200) {
console.log(res);
})
}
}, (err) => {
alert("There was a problem logging you out");
});
}
Composant:
logout() {
// you should consider providing a type
return this.http.post(this.logOutApi, null, { observe: 'response' });
}
J'espère que cela vous aidera!
qu'est-ce que cela signifie 'fournir un type'
typescript ne connaîtra pas la forme de votre objet retourné, vous devez définir le type de réponse pour en faciliter la consommation. this.chk.logout
À part 200, vous obtenez le code d'état dans votre bloc d'erreur. Donc ici, vous devrez gérer en conséquence comme ci-dessous
logout() {
this.chk.logout().subscribe((res: any)=>{
if(res.status == 200) //doesnt work{
console.log(res);
})
}
}, (error)=>{
if (error.status === 500) {
alert('Server down please try after some time');
}
else if (error.status === 404) {
alert('Server down. Please try after some time');
}
});
}
J'espère que cette aide