下面我使用API通过Observable从服务器获取国家/地区区域,并将国家/地区代码保存到 sessionStorage():
let options = new RequestOptions({ headers: this.headers });
return this.http.get(this.backendUrl + pathName, options)
.map((res: Response) => {
return res.json();
})
.catch(e => {
if (e.status === 401) {
this.router.navigateByUrl('/error');
return Observable.throw('Unauthorized');
}
});
及以下是我的另一个代码,我想在发布请求中使用存储在 sessionStorage()中的国家/地区代码:
let options = new RequestOptions({ headers: this.headers });
body_val['hash_value'] = root.hashValue;
body_val['region'] = <!-- Region -->;
body_val['client_id'] = 'ABC';
body_val['users_id'] = this.users_id;
if (localStorage.getItem('userdata')) {
let user = JSON.parse(localStorage.getItem('userdata'));
body_val['users_id'] = user.userdata.id;
body_val['userid'] = user.userdata.id;
}
return this.http.post(root.apiUrl + pathName, body_val , options)
.map((res: Response) => {
return res.json();
})
.catch(e => {
if (e.code === 404) {
this.router.navigateByUrl('/error');
return Observable.throw('Unauthorized');
}
});
第一次加载页面时,我收到 null ,但第二次加载页面时,我可以获得 sessionStorage的值( )。如何实现第一个API调用数据是第二个API和第一页加载。