Partage
  • Partager sur Facebook
  • Partager sur Twitter

Undefined http.get Angular

undefined lors de la première utilisation de http.get

20 juin 2021 à 12:53:12

Bonjour,

J'effectue une requête get via http.get vers mon API REST. Lors de la première requête je reçois un "undefined" puis pour chaque requête je reçois le résultat de la requête précédente ....

Voici le code de mon fichier .ts de mon Component :

async onSubmit(form: NgForm) {
console.log(form.value);

if (form.value['ligne']==''){
this.FiltersService.ligne = '_';
}
else this.FiltersService.ligne = form.value['ligne'];

if (form.value['marque']==''){
this.FiltersService.marque = '_';
}
else this.FiltersService.marque = form.value['marque'];

if (form.value['IRC']==''){
this.FiltersService.IRC = '_';
}
else this.FiltersService.IRC = form.value['IRC'];

if (form.value['produit']==''){
this.FiltersService.produit = '_';
}
else this.FiltersService.produit = form.value['produit'];


if (form.value['volume']==''){
this.FiltersService.volume = '_';
}
else this.FiltersService.volume = form.value['volume'];

if (form.value['dateDeb']==''){
this.FiltersService.datedeb = '_';
}
else this.FiltersService.datedeb = form.value['dateDeb'];

if (form.value['dateFin']==''){
this.FiltersService.dateFin = '_';
}
else this.FiltersService.dateFin = form.value['dateFin'];

this.FiltersService.getChangeFormats();
console.log(this.FiltersService.changeFormats['recordset']);
}

et le code de ma requête dans mon service :

async getChangeFormats() {
let requete = "http://localhost:8081/changeFormats?ligne="+this.ligne+"&IRC="+this.IRC+"&marque="+this.marque+"&produit="+this.produit+"&volume="+this.volume+"&dateDeb="+this.datedeb+"&dateFin="+this.dateFin
console.log(requete);

const headerDict = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Access-Control-Allow-Headers': "*"
}
const requestOptions = {
headers: new HttpHeaders(headerDict),
};

return this.http
.get<any[]>(requete,requestOptions)
.subscribe(
(response) => {
this._changeFormats = response;
},
(error) => {
console.log('Erreur ! : ' + error);
}
);
}

Merci d'avance pour votre aide :)

-
Edité par Nicolas59Twix 20 juin 2021 à 12:55:42

  • Partager sur Facebook
  • Partager sur Twitter
9 juillet 2021 à 22:42:29

Bsr, je ne suis pas expert mais voilà quelques conseils d'abord
Utiliser **Validators** pour valider tes champs de formulaire
Exemple
    Validators.required
Utiliser **httpParams** pour les paramètres de requête
Pour ton problème enlève simplement le async devant tes méthode
  • Partager sur Facebook
  • Partager sur Twitter