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

标签 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')
    );

最佳答案

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

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

关于angular - 如何读取组件中的http状态代码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51757895/

相关文章:

javascript - Angular 模板变量引用

javascript - 初始化自定义类

javascript - 无法使用排序库 ng2-dnd 对几个不同的列表进行排序

angular - 除了设计简单之外,在 Angular2 中使用多个模块还有什么好处?

angular - 如何在 Angular2 中使组件普遍可访问

javascript - Angular 将数组项推送到新数组

angular - 如何根据时间和日期显示项目

Angular rc1 : EXCEPTION: Error: Uncaught (in promise): Cannot find default outlet

angular - canActivate 在订阅更改时不响应 Angular 2 路由器 AngularFire2

angular - 为什么 Angular2 不能注入(inject)我的服务?