Comment ajouter des en-têtes de mon Angulaire de la requête post?
Pour un projet d'école, j'ai besoin de faire une simple page de connexion Angulaire. Lorsqu'une connexion bouton est cliqué, j'ai besoin d'ajouter un en-tête d'Autorisation avec mon post. J'ai créé un serveur et quand je poste mon Autorisation de la valeur à cet arrière-plan avec le facteur, il fonctionne donc rien de mal avec l'arrière-plan. Quand j'essaie de poster le même arrière-plan avec mon frontend il ne fonctionne pas. Quelle est la meilleure façon d'ajouter des en-têtes de votre post? Il semble que les avis sont partagés. C'est mon code:
export class LoginComponent{
title = 'Login';
email = '';
password = '';
credentials = '';
basic = '';
constructor(private http:HttpClient){
}
createAuthorizationHeader(headers:Headers,basic){
headers.append('Authorization',basic);
}
login(event){
this.email = (<HTMLInputElement>document.getElementById("email")).value;
this.password = (<HTMLInputElement>document.getElementById("password")).value;
this.credentials = this.email + ":" + this.password;
this.basic = "Basic " + btoa(this.credentials);
console.log(this.basic);
let headers = new Headers();
headers.append('Content-Type','application/json');
headers.append('Authorization',this.basic);
let options = new RequestOptions({headers:headers});
console.log(headers);
return this.http.post('http://localhost:8000/api/v1/authenticate',options)
.subscribe(
res =>{
console.log(res);
},
err => {
console.log(err.message);
}
)
}
}
Lorsque j'exécute ce code j'obtiens un 400 de réponse d'état et les en-têtes ne sont pas ajoutés.
- Double Possible de Angulaire [4.3] Httpclient n'envoie pas d'en-tête
Vous devez vous connecter pour publier un commentaire.
Le deuxième argument passé à
HttpClient.post
représente la corps de la demande, mais vous êtes en fournissantHeaders
ici. Celui-ci permet de fournir les en-têtes correctement:J'ai montré
null
dans l'exemple pour le corps, mais vous voudrez probablement le fait d'inclure laemail
etpassword
propriétés dans une certaine forme.Vous êtes également le mélange
Http
etHttpClient
. Si vous allez utiliserHttpClient
(qui est maintenant l'approche recommandée), déposezRequestOptions
etHeaders
en faveur deHttpHeaders
. Cela devient:Le reste du code reste le même. Votre
createAuthorizationHeader
fonction des besoins d'utilisation et de retourner une instance deHttpHeaders
. Cette classe est immuable, afin deappend
renvoie une nouvel objet chaque fois qu'elle est appelée. ImportationHttpHeaders
de@angular/common/http
.Cela peut Vous Aider à