Search code examples
angularangular2-routingangular2-services

how to read http status code error in component


I know this has been asked before but I can't seem to find the answer, how to read status code from http..?

this.bookingService.save(this.param)
    .subscribe(
        data =>
            swal({
                "title": "Succes!",
                "text": "Your data saved",
                "type": "success",
                "confirmButtonClass": "btn btn-secondary m-btn m-btn--wide"
            }),
        error => console.log('error'),
            () => this.router.navigate('Succes')
    );


Solution

  • You can get the status code from the error,

    this.bookingService.save(this.param).subscribe(
    data =>{
      console.log(data);
    },
    (err) => {console.log(err)});
    

    To get the error msg back, add a catch that will return the error object:

     save(book){
          return this.http.post('http:..../',book)
            .map(res => res)
            .catch(this.handleError);
     }
    
      private handleError(error: any) { 
          let errMsg = (error.message) ? error.message : error.status ? `${error.status} - ${error.statusText}` : 'Server error';
          return Observable.throw(error);
      }