web-dev-qa-db-fra.com

Comment ajouter un en-tête à une demande de publication dans angular 2?

//In services.ts

import { Injectable } from '@angular/core';
import { Http, Headers, RequestOptions } from '@angular/http';
import 'rxjs/Rx';
@Injectable()
export class DataService {

constructor(private http: Http) {   }
fetch(){
   return this.http.get('json-object-link').map(
      (res) => res.json()
    )
       }

 }

//In component

 ngOnInit() {

 this.dataService.fetch()
    .subscribe(
      (data) => this.ninjas = data
    );
}

Je veux ajouter l'en-tête suivant à cette demande:
"en-têtes": 
{
"content-type": "application/json",
"access_token": "abcd"
}

5
Utkarsh Verma
@Injectable()
export class UserService {
    constructor (private http:HttpClient) {}

    getUserByName(username: string) {
        let url="http://localhost:8088/rest/user/userName";
        let header=new Headers({'Content-Type': 'application/json', 'Authorization': 
            'Bearer '+localStorage.getItem("access_token")});
        return this.http.post(url, username, {headers: header});
    }
}
7
Praneeth Reddy

Essaye ça 

 let headers = new Headers({ "content-type": "application/json", });
    headers.append('access_token', "abcd");
    let options = new RequestOptions({ headers: headers });

 this.http
      .post(url, data, options)
2
Eduardo Vargas

Vous pouvez 

let headers = new HttpHeaders(); headers = headers.set(...); headers = headers.set(...); headers = headers.set(...);

ou

let headers = new HttpHeaders().set(...)
                                     .set(...)
                                     .set(...);

référence: problème avec post request http header angular 4

si angulaire 2 

let headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('authentication', `${student.token}`);

let options = new RequestOptions({ headers: headers });
return this.http
    .put(url, JSON.stringify(student), options)
0
Arun