参数类型字符串 | null 不可分配给参数

时间:2021-07-18 16:39:59

标签: angular typescript

我正在尝试为我的应用程序使用授权事实。为此,我使用本地存储来获取项目。当用户登录时,我已经将令牌存储在本地存储中,注销时将删除本地存储项目。我尝试检查当用户登录然后找到该项目时,我后端的凭据否则不会。为此,我使用以下代码来处理我的要求:-

Demo.Service.ts

const httpOptions = {
  headers : new HttpHeaders({
    Authorization: 'Bearer ' + JSON.parse(localStorage.getItem('user')).token
  })
}

但是我发现了这个错误:-

enter image description here

我将如何解决这个问题。我会感谢所有的想法。请帮忙。

1 个答案:

答案 0 :(得分:0)

我认为,发生此错误是因为您没有在本地存储中的用户对象上设置令牌,因此它本质上是在尝试查找 null.token

试试下面的代码。

Authorization: 'Bearer ' + JSON.parse(localStorage.getItem('user') || '{}').token

如果在本地存储中找不到 {} 对象,则此处传递一个空的 JSON 对象 user。 我认为,它应该可以解决您的问题:-

相关问题