我想问一下如何解析API返回给我的错误主体.
这是我的代码:
login(username,password){ let headers = new Headers(); headers.append('Content-Type','application/json'); return this.http.post(this.configEnvironment.url() + "oauth/access_token",JSON.stringify( { username: username,password: password,grant_type: "password",client_id: "xxxxxxx",client_secret: "xxxxxxxx" } ),{ headers } ) .map(res => res.json()) .catch((err:any) =>{ console.log(err); return Observable.throw(new Error(err)); }); }
我可以使用以下方法访问URL,status,statusText等:
err.status,err,url,error.statusText
我的问题是我无法获得错误体的价值.
您的捕获实际上是收到响应.您可以使用json()访问其详细信息
import { Response } from "@angular/http"; ... .catch((err:Response) =>{ let details = err.json().error; console.log(details); return Observable.throw(new Error(details)); });
注意:这个答案是关于@ angular / http库的.从Angular 5开始,不推荐使用这个库,而使用@ angular / common / http