无法解决角度响应中的选项



当后端响应为200时,我无法在本地存储中设置项。似乎无法识别请求的状态。

options = {
headers: new HttpHeaders({
'Content-Type':  'application/json',
'Access-Control-Allow-Origin': '*',   
'Authorization': 'Bearer '+localStorage.getItem("access_token")
}),
observe: "response", // to display the full response
responseType: "json"
};


constructor(private http: HttpClient, private router: Router) { 
}

authenticate(url, data, options) {

this.http.post(environment.getBaseAddress() +url+'/', data, options).subscribe((data:any) =>  {
if (data.status == 200) {
localStorage.setItem("access_token", data['access_token']);
console.log(data.status)
}
else this.router.navigateByUrl('something-else');
})

}

订阅块的下一个回调被执行的事实意味着您的API调用是成功的。因此,您不需要显式检查状态码,您可以这样做:

this.http.post(environment.getBaseAddress() +url+'/', data, options)
.subscribe((data:any) => {
localStorage.setItem("access_token", data['access_token']);
}, (err) => {
this.router.navigateByUrl('something-else');
});

订阅回调的更多信息。

最新更新