如何在Angular 6中的get url中使用localstorage值?

时间:2018-09-03 05:20:09

标签: angular

我想从本地存储中获取价值,并使用我的请求URL中的值在Angular 6中获取客户详细信息。

login.component.ts

  OnLogin(){
     this.loginService.userLogin(this.username,this.password)
     .subscribe(
         data => {
         localStorage.setItem('AccountNo',data.AccountNo);
         }
  }

login.service.ts:

  getAccountNo(){
        return localStorage.getItem('AccountNo');
  }

checkout.service.ts:

  login1 = this.loginService.getAccountNo();

        async getAddress() {
            const address = await this.httpClient.get<Customer[]>('http://localhost:49422/api/customer/' + 'login1' +'/profile/', { withCredentials: true })
            .toPromise();
            return address;
        }

客户登录后,其详细信息将保留在本地存储中。我想从本地存储中获取帐号值,并在结帐服务​​的URL中使用它。如何实现呢?是否可以使用拦截器从请求标头中获取值?如果可能的话,应该如何实现呢?

2 个答案:

答案 0 :(得分:3)

可以那样使用

 getAccountNo(){
        return localStorage.getItem('account_no');
      }

答案 1 :(得分:3)

您还应该使用用于检索的 same key

  return localStorage.getItem('account_no');

编辑

您只需要在请求中使用 login1 而不是 'login1.AccountNo'