home.ts
import { Component } from '@angular/core';
import { NavController,LoadingController } from 'ionic-angular';
import {HttpProvider} from '../../providers/http/http';
import 'rxjs/add/operator/map';
import { Http } from '@angular/http';
@Component({
selector: 'page-home',
templateUrl: 'home.html',
providers:[HttpProvider]
})
export class HomePage {
newsData: any;
loading: any;
getJsonData(){
return this.http.get('http://localhost/posts.php').map(res => res.json());
}
constructor(public httpProvider: HttpProvider, private http: Http, public navCtrl: NavController, public loadingCtrl: LoadingController) {
this.loading = this.loadingCtrl.create({
content: `
<ion-spinner ></ion-spinner>`
});
this.getdata();
}
getdata(){
this.loading.present();
this.httpProvider.getJsonData().subscribe(
result => {
this.newsData=result.data.children;
console.log("Success : "+this.newsData);
},
err =>{
console.error("Error : "+err);
} ,
() => {
this.loading.dismiss();
console.log('getData completed');
}
);
}
}
http.ts(provider)
import { Injectable } from ‘@angular/core’;
import { Http } from ‘@angular/http’;
import ‘rxjs/add/operator/map’;
/*
Generated class for the HttpProvider provider.
See https://angular.io/docs/ts/latest/guide/dependency-injection.html
for more info on providers and Angular DI.
*/
@Injectable()
export class HttpProvider {
constructor(public http: Http) {
console.log(‘Hello HttpProvider Provider’);
}
getJsonData(){
return this.http.get(‘http://localhost/posts.php’).map(res => res.json());
}
}home.html <ion-content> <ion-list > <ion-item text-wrap *ngFor="let item of newsData" > <p >{{item.data.title}}</p> <p>{{item.data}}</p> </ion-item> </ion-list> </ion-content>
posts.php