Get status code http.get response angular2
Adding answer for versions of Angular >= 4.3 (including 11) with new HttpClient
that replaces http
import {HttpClientModule} from '@angular/common/http'; // Notice it is imported from @angular/common/http instead of @angular/http
How to get response code or any other header:
http.get( `${this.baseUrl}users/activate?mailToken=${mailToken}`, {observe: 'response'}) .subscribe(response => { // You can access status: console.log(response.status); // Or any other header: console.log(response.headers.get('X-Custom-Header')); });
As noted in the comment by @Rbk,
The object {observe: 'response'}
is what makes the full response object available.
Just modify your code as following to store your responseStatus in a field :
responseStatus: number;//This method must return the status of the http responseconfirmEmail(mailToken):Observable<String> {//Edited for working with HttpClient on Angular >= 4.3 return this.http.get(this.baseUrl+"users/activate?mailToken="+mailToken, {observe: 'response'}) .map((response: Response) => { this.responseStatus = response.status; return this.extractData(response); } .catch(this.handleError);}
And then display it in your component HTML template :
<p class='responseStatus'>{{responseStatus}}</p>
Its simple !!
Inside your extractData function
extractData (res){//res.status will be your status code// res.statusText will be your status Text}