Ich sende eine Anfrage an eine API, es gibt eine Reihe von Daten zurück, aber ich weiß nicht, wie Sie die Header aus dieser URL extrahieren, das ist, was ich versucht habe meinen DienstAngular 4 erhalten Header von API-Antwort
@Injectable()
export class ResourcesService {
private resourcesurl = "http://localhost:9111/v1/resources";
constructor(private http: Http) { }
getResources() {
let headers = new Headers();
headers.append("api_key", "123456");
return this.http.get(this.resourcesurl, { headers: headers
}).map(this.extractData).catch(this.handleError);
}
getresourceheaders(){
let headers = new Headers();
headers.append("api_key", "123456");
let options = new RequestOptions();
let testsss = options.headers
let headerapi = this.http.request(this.resourcesurl, options);
let test = this.http.get(this.resourcesurl, { headers: headers });
console.log(headerapi);
}
private extractData(res: Response) {
let body = res.json();
return body.data || {};
}
private handleError(error: Response | any) {
let errMsg: string;
if (error instanceof Response) {
const body = error.json() || '';
const err = body.error || JSON.stringify(body);
errMsg = `${error.status} - ${error.statusText || ''} ${err}`;
} else {
errMsg = error.message ? error.message : error.toString();
}
console.error(errMsg);
return Observable.throw(errMsg);
}
}
ich möchte in diesem Fall die Header aus dieser Antwort zu bekommen, dass resourceurl ist
irgendeine Idee?
das hat funktioniert !, aber jetzt, wie bekomme ich diesen Wert? Ich möchte es an eine Variable übergeben, ich habe versucht, es innerhalb und außerhalb der Funktion zu deklarieren, aber es funktioniert nicht – Lrawls
Ihr Dienst sollte die http zurückgeben.Get ('/ Pfad/zu/Ressource') Teil, damit Sie das Abonnement in der Komponente bearbeiten können, die den Dienst benötigt. Ich aktualisierte die Syntax, so dass die Pfeilfunktion kann mehrere Zeilen in der Subscription-Handler – ruedamanuel