html - 如何在Angular中仅打印错误消息

标签 html angular api types error-handling

我正在尝试找出一种方法,仅从api调用错误中打印“消息”部分,但不确定如何获取该部分,因此,如果能得到任何建议或帮助,我将不胜感激。
So this is what it show me in the network tab when there is error in the api call (pic)

 saveChartClick(err: any) {
    // update the chart data here
    if(!this.isTextChart && !this.isFigure && !this.isGrid){
      this.chartService.updateChart(this.chart).pipe(takeUntil(this.death$)).subscribe((updated) => {
        if(updated) {
          this.chart = updated;
          this.snackbar.open("Chart has been updated.", " ", {duration: 2500});
          this.store.dispatch(updateChart({chart: this.chart}));
        } else {

          this.snackbar.open(err.message, "close ", { duration: 2500 });
        }
      }, err => {
        this.snackbar.open(err.message, "close ", { duration: 2500 });
      })
    }
    else{
      // save the new data here
      this.store.dispatch(saveChartData({ guid: this.chart.guid, data: this.chartData }));
    }
  }
现在它向我显示了这,这不是我想要显示的,因为它并不能真正告诉您错误所在。
Error Message it showing me right now (pic)
This is hard coded but this one example of what I want to display (pic)
错误在后端处理,有时我会收到不同的错误消息,所以我不想对其进行硬编码。

最佳答案

在Angular的HttpErrorResponse对象中,这就是message属性的外观。你想要的不是

this.snackbar.open(err.message, "close ", { duration: 2500 });
this.snackbar.open(err.error.message, "close ", { duration: 2500 });
或者,为了安全起见(error可以为null),
const errorMessage = err.error ? err.error.message : err.message;
this.snackbar.open(errorMessage, "close ", { duration: 2500 });

关于html - 如何在Angular中仅打印错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62701318/

相关文章:

php - 实时检索推文并发送带有推文文本的电子邮件

python - 使用 BeautifulSoup 解析未关闭的 `<br>` 标签

javascript - 为什么我在尝试加载谷歌地图时不断收到错误消息?

html - 带有 css/html 的响应式图像

html - css中的滚动条拇指高度

java - 使用 ionic 3 进行 HTTP Post

Angular - 如果它没有任何逻辑,我们还需要一个构造函数吗

javascript - 如何在 Angular 中对嵌套订阅方法进行单元测试?

java - 如何使用java查询具有特定需要字段的elasticsearch

c++ - Linux API 列出正在运行的进程?