如何从 Angular 8 的 Oninit 会话中获取价值?
How to Get value from session on Oninit in angular8?
我在登录期间将访问令牌存储在会话存储上,并在其他组件的 oninit() 方法上访问它,但得到的是空值。
在控制台上检查它在会话上存储令牌。
这里是在 post httpclient 请求
上设置会话存储
.subscribe(
(data: any) => { // json data
console.log('Success: ', data);
sessionStorage.setItem("Token ",data.access_token)
this._router.navigate( ['dashboard'] );
},
我在这里访问其他组件上的这个令牌
ngOnInit() {
let url:string = '.......';
const token = sessionStorage.getItem("Token");
console.log(token);
this.http.get(url,
{
headers : new HttpHeaders({
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization' :'Bearer '+ token
})
}
).subscribe(
(data: any)=> { // json data
console.log('Success: ', data.data);
this.leads = data.data;
},
error => {
console.log('Error: ', error);
}
)
}
}
检查使用
sessionStorage.setItem(令牌,JSON.stringify(data.access_token));
还有ans
JSON.parse( sessionStorage.getItem( 代币 ));
您在注册令牌时有一个额外的space。
sessionStorage.setItem("Token ",data.access_token)
删除令牌后多余的 space,它应该可以工作。
sessionStorage.setItem("Token ",data.access_token)// Typo. You have a space here after 'Token'
sessionStorage.setItem("Token",data.access_token); // Removed space
如果还是不行,那么你应该检查 Token
键设置是否在你试图检索它的 ngOnit
代码之前完成,
我在登录期间将访问令牌存储在会话存储上,并在其他组件的 oninit() 方法上访问它,但得到的是空值。 在控制台上检查它在会话上存储令牌。
这里是在 post httpclient 请求
上设置会话存储.subscribe(
(data: any) => { // json data
console.log('Success: ', data);
sessionStorage.setItem("Token ",data.access_token)
this._router.navigate( ['dashboard'] );
},
我在这里访问其他组件上的这个令牌
ngOnInit() {
let url:string = '.......';
const token = sessionStorage.getItem("Token");
console.log(token);
this.http.get(url,
{
headers : new HttpHeaders({
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization' :'Bearer '+ token
})
}
).subscribe(
(data: any)=> { // json data
console.log('Success: ', data.data);
this.leads = data.data;
},
error => {
console.log('Error: ', error);
}
)
}
}
检查使用 sessionStorage.setItem(令牌,JSON.stringify(data.access_token));
还有ans JSON.parse( sessionStorage.getItem( 代币 ));
您在注册令牌时有一个额外的space。
sessionStorage.setItem("Token ",data.access_token)
删除令牌后多余的 space,它应该可以工作。
sessionStorage.setItem("Token ",data.access_token)// Typo. You have a space here after 'Token'
sessionStorage.setItem("Token",data.access_token); // Removed space
如果还是不行,那么你应该检查 Token
键设置是否在你试图检索它的 ngOnit
代码之前完成,