嘿,我将我的角度从4.4升级到了最新的7 现在,经过很多错误,我终于可以运行服务了 我有这个解析器,它解析登录响应并返回 但是它并没有返回任何东西,只是空着的身体 我该如何解决?
登录服务
this.http.post("/auth/login", JSON.stringify(payload), {}).subscribe(
(resp: HttpResponse<any>) => {
let body = this.outputParser(resp); //it is returning null
this.sessionService.setAccessToken(body.AccessToken);
this.sessionService.setUser(body.User);
},
输出解析器
private outputParser(res: HttpResponse<any>) {
let responseText: any = res;
if (!responseText) {
return null;
}
try {
return JSON.parse(responseText);
} catch (e) {
return null;
}
}
是的,我在登录服务之前写了输出解析器
如何解决这个问题? 谢谢
答案 0 :(得分:1)
在Angular 7中,您正在使用 HttpClient ,因此您无需解析任何内容。
尝试一下:
let body = resp
答案 1 :(得分:1)
这应该是更干净的代码方式。您无需解析为json,因为默认情况下,角度返回json格式
this.http.post("/auth/login", JSON.stringify(payload), {}).subscribe(
(resp: HttpResponse<any>) => {
this.sessionService.setAccessToken(resp.AccessToken);
this.sessionService.setUser(resp.User);
}
干杯。