角7响应解析器无法正常工作

时间:2019-05-22 10:15:08

标签: javascript angular typescript service

嘿,我将我的角度从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;
 }
}

是的,我在登录服务之前写了输出解析器

如何解决这个问题? 谢谢

2 个答案:

答案 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);
    }

干杯。