假设我已将用户登录名用户名作为数据传递到php api url,以从数据库中获取用户详细信息,例如
let data = {
username: this.username
};
this.http.post('http://onitor.com/api/retrieve_data.php',data, options)
当数据以json格式返回时,
.map(res => res.json())
.subscribe(res => {
loader.dismiss()
this.items=res.server_response;
console.log(this.items);
});
});
我想将这些数据传递给 PostPage ,并且我不想使用这样的push方法
this.navCtrl.push(PostPage, data);
我该怎么办?我对离子还不熟悉。
谢谢。
答案 0 :(得分:1)
您可以使用服务。在该服务中写入http请求代码,然后使用Promise返回数据。还可以在服务中声明全局变量,并在整个应用程序中的任何位置访问它,
在您的service.ts文件中,
data: any;
retrieveData(){
return new Promise(resolve => {
this.http.post("http://onitor.com/api/retrieve_data.php", data)
.subscribe(data => {
this.data = data;
resolve(data);
});
});
}
getData(){
return this.data;
}
在您的component.ts中,
postData(){
let postParams = {
}
this.myService.retrieveData(postParams)
.then(data => {
console.log("Response: ", data);
})
.catch(error => {
console.log("Error: ", error)
});
}
getData(){
this.myService.getData();
}
答案 1 :(得分:0)
托尼
您可以将数据存储在localStorage中。 看一下这个链接: https://answerdone.blogspot.com/2018/03/how-to-store-and-use-data-globally-in.html
答案 2 :(得分:-1)
尝试将其存储在存储中,然后从应用中任何位置的存储中获取它。
在您的第一页
// set it in storage
setData() {
window.localStorage.setItem('account', JSON.stringify(data));
}
在第二页
// get it from storage
// create account variable where you will pass the data
account: any;
getData() {
this.account = window.localStorage.getItem('account');
//check on how you will access the username
console.log(this.account);
}