如何存储来自httpClient发布响应的数据?

时间:2019-12-20 05:38:54

标签: typescript httpclient angular8

我试图在获得响应后将令牌存储在会话存储中,但是编译此代码时出现错误类型'Object'不存在属性'access_token'。在发送请求之前显示此错误,并且我想在没有发送请求之前获得响应时执行sesssionstorage。

 this.http.post(url,null,
   {
     headers : new HttpHeaders({
      'Content-Type': 'application/x-www-form-urlencoded',
     'Authorization' :'Basic '+ btoa('username:password')
     })
   }
   ).subscribe(
    data => { // json data

      console.log('Success: ', data);
      sessionStorage.setItem("Token ",data.access_token)
  },
  error => {
      console.log('Error: ', error);
  }
   )


  }

1 个答案:

答案 0 :(得分:2)

您的响应数据类型是什么?您可以使用任何类型并像这样写。 好的做法是编写一个带有响应数据的接口。

  {
    headers : new HttpHeaders({
     'Content-Type': 'application/x-www-form-urlencoded',
    'Authorization' :'Basic '+ btoa('username:password')
    })
  }
  ).subscribe(
   (data: any) => { // json data

     console.log('Success: ', data);
     sessionStorage.setItem("Token ",data.access_token)
   },
   error => {
     console.log('Error: ', error);
   }
  )
 }