我正在尝试从 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>