我想从本地存储中获取价值,并使用我的请求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中使用它。如何实现呢?是否可以使用拦截器从请求标头中获取值?如果可能的话,应该如何实现呢?
答案 0 :(得分:3)
可以那样使用
getAccountNo(){
return localStorage.getItem('account_no');
}
答案 1 :(得分:3)
您还应该使用用于检索的 same key
return localStorage.getItem('account_no');
编辑
您只需要在请求中使用 login1
而不是 'login1.AccountNo'