如何读取组件中的http状态代码错误

时间:2018-08-09 02:13:15

标签: angular angular2-routing angular2-services

我知道之前已经有人问过这个问题,但是我似乎找不到答案,即如何从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')
    );

1 个答案:

答案 0 :(得分:2)

您可以从错误中获取状态代码,

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

要获取错误消息,请添加一个将返回错误对象的捕获:

 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);
  }