IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

question de débutant, requête fetch et retour json


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Août 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 23
    Par défaut question de débutant, requête fetch et retour json
    Bonjour à tous,

    je me tire les cheveux (que je n'ai plus) depuis hier avec un petit problème qui doit être simple mais je n'y arrive pas.

    je travaille avec une api qui doit recevoir en parametre un fichier json sous cette forme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    var task = [{
                    start: '2018-12-11',
                    end: '2018-12-31',
                    name: 'bonjour',
                    id: "Task 7",
                    progress: 0,
                    dependencies: 'Task 4',
                    custom_class: 'bar-milestone'
                },
    {
                    start: '2018-12-11',
                    end: '2018-12-31',
                    name: 'bonjour',
                    id: "Task 7",
                    progress: 0,
                    dependencies: 'Task 4',
                    custom_class: 'bar-milestone'
                }];
    je fait une requête fetch qui va me chercher le fichier qui va bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
           let tasks = []
            let id = document.getElementById("idProj").value;
    fetch("./ajax/loadTask.php?idProj="+id)
        .then((res) => res.json())
        .then((response) => {
       //   console.log(response);
     
          for (let i in response) {
            if( response[i].task_id !="Task 0"){
            task += `
                    ,{
                    start: '${response[i].start}',
                    end: '${response[i].end}',
                    name: '${response[i].name}',
                    id: "${response[i].task_id}",
                    progress: ${response[i].progress}
                    }
                `;}else{
                    task+=`{
                    start: '${response[i].start}',
                    end: '${response[i].end}',
                    name: '${response[i].name}',
                    id: "${response[i].task_id}",
                    progress: ${response[i].progress}
                    }`
     
                }
          }
     
       //   console.log(tasks);
     
        })
        .catch((error) => console.log(error));
     
    //il faudrait ici que s'affiche
    tasks =[
    {
    resultat 1 de la requete
    },{
    resultat 2  de la requete
    }, etc
    ];
    ma question, comment injecter dans la variable tasks[] le resultat du fetch qui me retourne les données dans un console log au bon format ? en php j'aurais fait echo task; mais en js je ne sais pas comment faire.

    Pourriez vous me filer un petit coup de main.

    Merci

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 497
    Par défaut
    Bonjour,

    Tu peux ajouter les valeurs avec push dans la boucle for comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    let tasks=[];
    for (let i in response) {
            if( response[i].task_id !="Task 0"){
                  tasks.push({
                        start: response[i].start,
                        end: response[i].end,
                        name: response[i].name,
                        id: response[i].task_id,
                        progress: response[i].progress
                  });
            }
    }
    Mais je me demande pourquoi il y'a une virgule avant l'accolade à la ligne 12 ? c'est la seule différence entre les deux code de if else.

  3. #3
    Membre averti
    Inscrit en
    Août 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 23
    Par défaut
    bonjour et merci de ton retour,

    avec le code fournit lorsque je fait un console log de tasks j'obtient un tableau vide.

    dans mon script la variable tasks doit être écrite physiquement sous cette forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var tasks = [{contenu 1},{contenu 2}...]
    c'est pourquoi lorsque c'est la première tache il n'y a pas de virgule et sur la seconde il y en a

    merci quand même de ton retour

  4. #4
    Membre averti
    Inscrit en
    Août 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 23
    Par défaut
    C'est bon cela fonctionne merci Toufik 83

    je met en résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. débutant; problem avec EOF
    Par pitbul100 dans le forum Débuter
    Réponses: 10
    Dernier message: 22/05/2006, 18h39
  2. [Tableaux] probleme avec fichier texte
    Par leluis dans le forum Langage
    Réponses: 9
    Dernier message: 29/11/2005, 10h05
  3. Probleme avec fichier .iso
    Par Le Pharaon dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 07/11/2005, 14h11
  4. [débutant] Probleme avec switch et héritage
    Par durk dans le forum Langage
    Réponses: 2
    Dernier message: 21/04/2005, 09h48
  5. [C#][débutant] Probleme avec un case
    Par Le Basque dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/01/2005, 12h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo