Bonjour,
je cherche à recupérer les infos à pqrtir de mon serveur PHP.
Voici mon code
//Dans mon service d'authentification
checkVehicleList() {
this.getUserId().then(data => {
this.userid = data;
return new Promise(resolve => {
alert(this.userid);
this.http.get('http://localhost/helloworld/api/v1/list?iduser='+this.userid).subscribe(data => {
alert(data.json().InformationsVehicules);
if(data.json().InformationsVehicules){
alert("reussite");
} else { alert("error !") }
});
});
});
}
//Dans la page des vehicules, j'appel la fonction juste pour savoir ce qu'elle qaffiche avec les alerts
public MarqueVeh : any;
public marque : any;
loadVeh() {
this.viauth.checkVehicleList().then(data => {
this.MarqueVeh = data;
});
}
// Voici le tableau que me retourne ma route PHP
{"InformationsVehicules":[{"marque":"bgy","matricule":"ce1370","numero_chassi":"123654"},{"marque":"bvd","matricule":"derty","numero_chassi":"ddff"}]}
Je veux que le tableau qui est retourne soit conserve dans une variable pour que je puisse l'utiliser comme ceci
<ion-content>
<ion-list *ngFor="#Veh of MarqueVeh">
<button ion-button round class="veh-button" clear color="light" (click)="showVehiclePopUp()">{{Veh.marque}}<span style="display:inline-block; width: 200px;"></span>
<ion-buttons end>
<ion-icon name="ios-play"></ion-icon>
</ion-buttons></button><br>
</ion-list>
</ion-content>
j'ai mis les alerts dans mon code pour savoir ce que les variable contiennent et je recois comme message "undefiened".
@saibe Ha ben t´as pas compris la question, ionic 2 c´est du javascript ;-)
tu as bien injecté http dans ton service?
ton server php te retourne bien du json?
Bonjour,
voici tout ce dont tu as besoin pour ta fonction
checkVehicleList() {
this.getUserId().then(data => {
this.userid = data;
return this.http.get('http://localhost/helloworld/api/v1/list?iduser=' + this.userid)
.map(data => data.json().InformationsVehicules);
});
}
// ici, vu qu'on utilise un Observable,
// il faut remplacer then par subscribe
loadVeh() {
this.viauth.checkVehicleList().subscribe(data => {
this.MarqueVeh = data;
});
}
get()
retourne deja un Observable, il n'est pas necessaire de le wrapper en Promise. Deplus tu n'utilises pas resolve
qui sert a resoudre ta promise donc ton code ne va jamais dans le then.
Comme l'a dit @Defy, tu dois injecter http
dans ton constructeur. Est ce que ton appel HTTP se fait correctement ? Que recois tu dans l'onglet Network de Chrome dev tools ?
Bonjour ! Mon serveur PHP retourne bien les donnees vu que j'ai testé ,es requètes avec Postaman.