Je travaille sur un projet de pile MEAN, et j'ai un problème étrange avec Angular 4. Cette méthode WAS fonctionnait dans le passé, mais pas maintenant. J'essaye de supprimer un utilisateur de la partie frontale. La page envoie un appel à userService.delete(), la fonction envoie une requête au backend qui supprime l'utilisateur avec succès. Il retourne ensuite un 200 avec "détruit avec succès" comme réponse. Je peux voir la réponse dans mon navigateur, mais le rappel de promesse n'est jamais appelé pour gérer la réponse. Exemple:Angular4 Le rappel de promesse n'est pas appelé
Appeler le service:
this.userService.deleteUser(localStorage.getItem('email'),localStorage.getItem('auth_token'), this.userId)
.then(response => {
console.log('got response') // <== never prints
if (response == "successfully destroyed") {
window.location.href = `/admin/users`;
} else {
alert("could not delete successfully")
}
})
fonction UserService:
deleteUser(email:string, auth_token:string, id:string): Promise<any> {
const body = {email: email, auth_token: auth_token, id:id};
return this.http.post('/api/users/delete', body)
.toPromise()
}
Le .then
ne sera jamais appelé et la page ne fait rien.
Merci à l'avance pour toute aide :)
Vérifiez si vous avez une erreur sur le serveur. – Avi
Voyez-vous des erreurs dans la console? Cela pourrait-il être un problème de la SCRO? –
Quelle version d'Angular vous utilisez car dans angulaire 4+, vous ne pouvez pas utiliser la méthode 'toPromise()' sur http.post'? – asmmahmud