Angular 如何从REST调用中获取正确的元素

Angular 如何从REST调用中获取正确的元素,angular,rest,api,angular5,angular6,Angular,Rest,Api,Angular5,Angular6,我尝试调用我的RESTAPI,它返回一个JSON对象,包括一个会话令牌。 我只需要session_令牌,但如何获取它 this.http.post(this.tokenURL, this.tokenCall).subscribe(res => { this.token = res.session_token; }); 这是我的尝试,但Angular不会编译,因为他不知道在编译时是否存在session_令牌。如何从中取出会话令牌?如果我在令牌本身中声明它,它也不会工作 谢谢你的帮助我为

我尝试调用我的RESTAPI,它返回一个JSON对象,包括一个会话令牌。 我只需要session_令牌,但如何获取它

this.http.post(this.tokenURL, this.tokenCall).subscribe(res => {
  this.token = res.session_token;
});
这是我的尝试,但Angular不会编译,因为他不知道在编译时是否存在session_令牌。如何从中取出会话令牌?如果我在令牌本身中声明它,它也不会工作


谢谢你的帮助

我为好奇的人找到了一个解决办法。 我声明了一个类型为“any”的对象,并将响应数据分配给它

let response:any = {};
this.http.post(this.tokenURL, this.tokenCall).subscribe(res => {
  if(res.hasOwnProperty("session_token")){
    response = res;
    this.token = response.session_token;
  }
这可能不是一种好的样式,但却是我找到的唯一解决方法。

您可以尝试(使用来自HttpClientModule的HttpClient)

this.http.post(this.tokenURL,this.tokenCall)
.subscribe(res=>{
this.token=res.session\u token;
});

这个post请求在构造函数还是ngOnInıt中调用?一个名为“apiCall()”的函数在ngOnIn中调用,是的,确切的问题是什么?抱歉,我不明白这一点:“但是Angular不会编译,因为他不知道编译时是否存在会话ı标记”,你需要调用
res.json()
首先获取对象。
this.http.post<{session_token}>(this.tokenURL, this.tokenCall)
 .subscribe(res => { 
  this.token = res.session_token; 
 });