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

      Undefined http.get Angular

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      • Editeur
      • Markdown