Arrays 如何从存储在ionic中的localStorage中的api检索数据数组
我一直在尝试在我的应用程序的所有页面上传递从php api返回的数据,但没有结果。我在谷歌上也在这个平台上进行了一系列搜索,但都失败了 我有几行代码,在登录后使用用户用户名通过api从mysql获取用户详细信息 现在,当用户信息是fetch(一个数组)时,我想将该数组存储到ionic本地存储中,并从我的应用程序中的任何位置检索它 下面是我的代码: user.tsArrays 如何从存储在ionic中的localStorage中的api检索数据数组,arrays,api,ionic-framework,ionic3,Arrays,Api,Ionic Framework,Ionic3,我一直在尝试在我的应用程序的所有页面上传递从php api返回的数据,但没有结果。我在谷歌上也在这个平台上进行了一系列搜索,但都失败了 我有几行代码,在登录后使用用户用户名通过api从mysql获取用户详细信息 现在,当用户信息是fetch(一个数组)时,我想将该数组存储到ionic本地存储中,并从我的应用程序中的任何位置检索它 下面是我的代码: user.ts ngOnInit(){ this.username = this.navParams.get('username'); var
ngOnInit(){
this.username = this.navParams.get('username');
var headers = new Headers();
headers.append("Accept", 'application/json');
headers.append('Content-Type', 'application/json' );
let options = new RequestOptions({ headers: headers });
let data = {
username: this.username
};
let loader = this.loading.create({
content: 'Preparing your page',
});
loader.present().then(() => {
this.http.post('http://edmon.com/api/retrieve.php',data, options)
.map(res => res.json())
.subscribe(res => {
loader.dismiss()
this.items=res.server_response;
console.log(this.items);
});
});
//this.navCtrl.push(PostPage, data);
}
//Store to storage
saveData() {
var jsonObj = this.items;
window.localStorage.setItem('myJsonKey', JSON.stringify(jsonObj));
//console.log('my itmes:', jsonObj);
}
我怎样才能从应用程序的任何地方获取这些数据呢
谢谢。制作保存数据()如下
saveData(item:any) {
window.localStorage.setItem('myJsonKey', JSON.stringify(item));
}
loader.present().then(() => {
this.http.post('http://edmon.com/api/retrieve.php',data, options)
.map(res => res.json())
.subscribe(res => {
loader.dismiss()
//this.items=res.server_response;
//console.log(this.items);
this.saveData(res.server_response)
});
});
然后,像下面那样使用它
saveData(item:any) {
window.localStorage.setItem('myJsonKey', JSON.stringify(item));
}
loader.present().then(() => {
this.http.post('http://edmon.com/api/retrieve.php',data, options)
.map(res => res.json())
.subscribe(res => {
loader.dismiss()
//this.items=res.server_response;
//console.log(this.items);
this.saveData(res.server_response)
});
});
--更新--
在其他页面中生成getData()函数。或者最好使用服务通过存储来保存和加载项目。请参阅
用法
this.getData()。然后(…)
将数据存储到localStorage
时,这里就是
//Store to storage
saveData() {
var jsonObj = this.items;
window.localStorage.setItem('myJsonKey', JSON.stringify(jsonObj));
//console.log('my itmes:', jsonObj);
}
当你想在你的应用程序中的任何地方获取数据时
//Get from storage
getData(){
window.localStorage.getItem('myJsonKey').then( data => {
// if you want to convert it back to JSON
// create variable retData in your ts file
// retData = any;
this.retData = JSON.parse(data);
});
}
更简洁的方法是创建自己的提供者,并将所有存储管理方法放在那个里。然后在ts中调用这些方法
例如,您可以在提供者文件夹下的user service.ts
中设置方法。创建方法,如setData()
或getData()
,以及它们的工作方式
然后在ts文件中,导入
用户服务.ts
提供程序并调用方法。请共享日志和错误以澄清您的问题。@HyuckKang,我没有问题,我只是问如何存储返回的数组from=>this.http.post(',options.).map(res=>res.json()).subscribe(res=>{loader.dismise()this.items=res.server_response;console.log(this.items);});到存储并在我的应用程序中的任何位置检索。感谢您的回复。但是,请问,我应该如何在另一页中显示它?比如说,如果我想在profile.html上显示详细信息?