如何不使用ionic

时间:2018-07-11 23:17:16

标签: arrays json ionic-framework ionic3

假设我已将用户登录名用户名作为数据传递到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); 

我该怎么办?我对离子还不熟悉。

谢谢。

3 个答案:

答案 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);
}