从 Http.get() 的 404 响应中获取 JSON



我正在尝试从 404 响应中获取 JSON,但我只得到

Response {_body: "{myJSON}", status: 404, ok: false, statusText: "Not Found", headers: Headers…}

如何获取object本身,以便我可以像在http.get()上一样使用例如{{error.text}}在我的 HTML 上打印它?

这是我的代码:

getList(): Promise<Response> {
    return this.http.get(this.apiUrl+'list/')
.toPromise() 
.then(response => { 
  console.log(response.json()); return response.json()})
.catch(this.handleErrorPromise)   
}
//if an error ocurred while doing api calls 
  private handleErrorPromise (error: Response | any) {
  console.error("EEEEE" + error.message || error);
  return Promise.reject(error.message || error);
    }

当它加入时.then它做得很好,它会返回一个对象,所以在我的component我可以使用它(我在我的组件上使用它......让我知道它是否好或有任何其他方法请(

ngOnInit(): void {
this.ListServiceProvider.getList().then( 
list=> {this.mList= list; console.log(list)}, 
error => {this.errorMessage = error; console.log(error)}); 
}

所以在我的 HTML 上,我有一个*ngIf=errorMessage所以它加入了那个div,而不是在响应正常时,但它没有显示我想要的是 JSON......你能告诉我我的代码有什么问题吗?

在这种情况下,

您可以使用新的 Angular If else

  <ng-template #fetching>
    //you can even check here optional ngIf
    <p *ngIf = "errorMessage">{{errorMessage?.imageURL}</p> // update after comment
  </ng-template>
  <p *ngIf="mList; else fetching;">
  // when Data comes do something here else use the else template
  </p>

相关内容

  • 没有找到相关文章

最新更新