数据不存储在Angular 5中的localStorage中

时间:2018-01-14 22:44:23

标签: node.js angular session mongoose local-storage

你好,互联网用户,

我正在尝试使用Mongoose作为后端制作Angular 5应用程序。现在我想在localStorage中存储数据(身份验证令牌),以便用户在关闭页面后保留其身份验证令牌。此令牌用于访问我们的Mongoose端点。

当我们在登录后尝试访问令牌(您在登录后获得令牌)时,它会检索它(我们在控制台日志中看到了这一点)但是当我们尝试将其设置为未来请求的标头时给我们一个403禁止的错误。

这是错误:

Error from the console log

这是我们用来初始化标题的代码和带有标记的localStorage:

private token = localStorage.getItem('token');
private headers = new Headers({'token': this.token});
public headerDict = new Headers({
    'token': this.token
  });

  public requestOptions = {
    headers: new Headers(this.headerDict),
  };

这是我们尝试使用给定标头的方法:

getUser() {
    console.dir(this.headers);
    console.log('tokenAndereManier: ' + localStorage.token);

    return this.http.get(this.serverUrl + (localStorage.userid || '5a3fd41e3ef7ccda81e7dda4'), { headers: this.headerDict})
      .toPromise()
      .then(response => {
        return response.json() as User;
      })
      .catch(error => {
        return this.handleError(error);
      });
  }

修改:After changing headerdict

1 个答案:

答案 0 :(得分:0)

您在console.log中调用localStorage.token,但是在您的状态下您正在尝试使用this.token。由于this属性仅是对其他位置的引用,因此我建议使用localStorage前缀。