如何在本地存储中设置Angular标头值?

时间:2019-03-30 09:53:08

标签: angular typescript web angular7

saveStudentDetails(values) {
  const studentData = {};

  studentData['id'] =  values.id;
  studentData['password'] =  values.password;

  this.crudService.loginstudent(studentData).subscribe(result => {
    // Here should be the value of the header from backend to be store on localstorage
    this.toastr.success('You are logged in', 'Success !', { positionClass: 'toast-bottom-right' });
    this.router.navigate(['/address']);
  },
    err => {
      console.log('status code ->' + err.status);
      this.toastr.error('Please try again', 'Error !', { positionClass: 'toast-bottom-right' });
 });

Autorization header

我有一个JWT令牌,当用户登录系统时已在Authorization标头中设置了JWT令牌,我如何从Authorization标头中获取令牌并将令牌放入本地存储中,以便可以将jwt令牌传递给其他路线呢?非常感谢。

3 个答案:

答案 0 :(得分:0)

this.crudService.loginstudent(studentData).subscribe(result => {
    localStorage.setItem('token', result.headers.get('Authorization'));    
});

答案 1 :(得分:0)

这是您要执行的操作的stackblitz链接

在您的代码中添加以下内容: localStorage.setItem('token',res.headers.get(TOKEN_NAME));

此外,在您的情况下,缺少Access-Control-Expose-Headers,该列表指示可以通过列出标题的名称来显示哪些标题作为响应的一部分。

答案 2 :(得分:0)

  

localStorage.setItem('Url',this.router.url);