访问令牌和响应数据
Accessing tokens and response data
尝试使用 Angular 找出一些基本身份验证 2. 我希望我的组件检查令牌,如果它存在,则导航到正确的位置,但如果它不显示返回的错误消息由服务。这是服务调用:
this._loginService.login(loginQuery)
.subscribe(
(token: any) => this._router.navigate( ['User', { username: user }] ),
(data) => { this.errorMessage = data.ErrorMessage; }
)
这是服务的代码:
return this._http.post('serivcelink,
body,
{headers:headers})
.map((res : any) => {
let data = res.json();
this.token = data.TeamMember.UserName;
localStorage.setItem('token', this.token);
});
我得到了我想要的令牌行为,只是我无法访问组件中的响应对象,因此无法显示错误消息。
如何检查令牌并访问响应数据?
您需要 return 在 map
回调中做一些事情,即 this.token
在您的情况下:
return this._http.post('serivcelink,
body,
{headers:headers})
.map((res : any) => {
let data = res.json();
this.token = data.TeamMember.UserName;
localStorage.setItem('token', this.token);
return this.token; // <-------
});
您 return 将作为参数接收到 subscribe
方法的回调中。
您可以使用 if 语句来检查您的令牌是否存在,否则显示错误消息:
this._loginService.login(loginQuery)
.subscribe(
(data: any) => {
if (localStorage.getItem('token')) {
this._router.navigate( ['User', { username: user }] )
} else {
this.errorMessage = data.ErrorMessage;
}
}
)
尝试使用 Angular 找出一些基本身份验证 2. 我希望我的组件检查令牌,如果它存在,则导航到正确的位置,但如果它不显示返回的错误消息由服务。这是服务调用:
this._loginService.login(loginQuery)
.subscribe(
(token: any) => this._router.navigate( ['User', { username: user }] ),
(data) => { this.errorMessage = data.ErrorMessage; }
)
这是服务的代码:
return this._http.post('serivcelink,
body,
{headers:headers})
.map((res : any) => {
let data = res.json();
this.token = data.TeamMember.UserName;
localStorage.setItem('token', this.token);
});
我得到了我想要的令牌行为,只是我无法访问组件中的响应对象,因此无法显示错误消息。
如何检查令牌并访问响应数据?
您需要 return 在 map
回调中做一些事情,即 this.token
在您的情况下:
return this._http.post('serivcelink,
body,
{headers:headers})
.map((res : any) => {
let data = res.json();
this.token = data.TeamMember.UserName;
localStorage.setItem('token', this.token);
return this.token; // <-------
});
您 return 将作为参数接收到 subscribe
方法的回调中。
您可以使用 if 语句来检查您的令牌是否存在,否则显示错误消息:
this._loginService.login(loginQuery)
.subscribe(
(data: any) => {
if (localStorage.getItem('token')) {
this._router.navigate( ['User', { username: user }] )
} else {
this.errorMessage = data.ErrorMessage;
}
}
)