Bonjour a tous,
j'ai un soucis avec mon code.
Mon code consiste à me connecter au serveur https://oc-jswebsrv.herokuapp.com pour récupérer les derniers liens publiés et ajouter un nouveau lien rentré par l'utilisateur.
Mon souci est que je n'arrive pas a afficher les liens du serveurs sur l'application.
voici mon code et plus bas la partie concernée.


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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
var req = new XMLHttpRequest();
req.open("GET", "https://oc-jswebsrv.herokuapp.com/api/liens");
req.addEventListener("load", function () {
    if (req.status >= 200 && req.status < 400) { // Le serveur a réussi à traiter la requête
        console.log(req.responseText);
    }
    else {
        // Affichage des informations sur l'échec du traitement de la requête
        console.error(req.status + " " + req.statusText);
    }
});
req.addEventListener("error", function () {
    // La requête n'a pas réussi à atteindre le serveur
    console.error("Erreur réseau");
});
req.send(null);
/*
Activité 1
*/
// Liste des liens Web à afficher. Un lien est défini par :
// - son titre
// - son URL
// - son auteur (la personne qui l'a publié)
var listeLiens = [
    {
        titre: "So Foot"
        , url: "http://sofoot.com"
        , auteur: "yann.usaille"
    }
    , {
        titre: "Guide d'autodéfense numérique"
        , url: "http://guide.boum.org"
        , auteur: "paulochon"
    }
    , {
        titre: "L'encyclopédie en ligne Wikipedia"
        , url: "http://Wikipedia.org"
        , auteur: "annie.zette"
    }
];
// Crée et renvoie un élément DOM affichant les données d'un lien
// Le paramètre lien est un objet JS représentant un lien
function creerElementLien(lien) {
    var titreLien = document.createElement("a");
    titreLien.href = lien.url;
    titreLien.style.color = "#428bca";
    titreLien.style.textDecoration = "none";
    titreLien.style.marginRight = "5px";
    titreLien.appendChild(document.createTextNode(lien.titre));
    var urlLien = document.createElement("span");
    urlLien.appendChild(document.createTextNode(lien.url));
    // La ligne contient le titre et l'URL du lien
    var ligneTitre = document.createElement("h4");
    ligneTitre.style.margin = "0px";
    ligneTitre.appendChild(titreLien);
    ligneTitre.appendChild(urlLien);
    // La ligne contient l'auteur
    var ligneDetails = document.createElement("span");
    ligneDetails.appendChild(document.createTextNode("Ajouté par " + lien.auteur));
    var divLien = document.createElement("div");
    divLien.classList.add("lien");
    divLien.appendChild(ligneTitre);
    divLien.appendChild(ligneDetails);
    return divLien;
}
//Crée fonction creerInputElement
function creerInputElement(placeholder, id) {
    var inputElt = document.createElement("input");
    inputElt.setAttribute("type", "text");
    inputElt.setAttribute("required", "required");
    inputElt.setAttribute("placeholder", placeholder);
    inputElt.setAttribute("id", id);
    inputElt.setAttribute("name", id);
    inputElt.style.marginRight = "5px";
    return inputElt;
}
var contenu = document.getElementById("contenu");
// Parcours de la liste des liens et ajout d'un élément au DOM pour chaque lien
listeLiens.forEach(function (lien) {
    var elementLien = creerElementLien(lien);
    contenu.appendChild(elementLien);
});
//Création et positionnement du bouton
var boutonElt = document.createElement("button");
boutonElt.textContent = "Ajouter un lien";
var pElt = document.createElement("p"); // Crée un paragraphe pour contenir boutonElt
pElt.appendChild(boutonElt);
document.body.insertBefore(pElt, contenu);
//Ajout évènement click sur boutonElt
boutonElt.addEventListener("click", function () {
    boutonElt.style.visibility = "hidden";
    //Création du formulaire
    var form = document.createElement("form");
    //Création des éléments du formulaire
    var inputAuteurElt = creerInputElement("Entrez votre nom", "auteur");
    var inputTitreElt = creerInputElement("Entrez le titre du lien", "titre");
    var inputUrlElt = creerInputElement("Entrez l'URL du lien", "url");
    //Création du type submit sans la fonction
    var inputSubmitElt = document.createElement("input");
    inputSubmitElt.setAttribute("type", "submit");
    inputSubmitElt.setAttribute("value", "Ajouter");
    //Insertion des éléments dans le formulaire
    form.appendChild(inputAuteurElt);
    form.appendChild(inputTitreElt);
    form.appendChild(inputUrlElt);
    form.appendChild(inputSubmitElt);
    //Insertion du formulaire dans pElt
    pElt.insertBefore(form, boutonElt)
        //Ajout évènement de type submit sur le formulaire
    form.addEventListener("submit", function (e) {
        var inputUrlEltValeur = form.elements.url.value;
        if ((inputUrlEltValeur.indexOf("http://") === -1) || (inputUrlEltValeur.indexOf("https://") === -1)) {
            inputUrlEltValeur = "http://" + inputUrlEltValeur;
        }
 
 
        //Crée objet lien
        var lienAjoute = {
            titre: form.elements.titre.value
            , url: inputUrlEltValeur
            , auteur: form.elements.auteur.value
        };
        //Déclaration du nouveau lien à ajouter
        var nouveauLien = creerElementLien(lienAjoute);
        //ajout du lien direct
       // Insertion du nouveau lien
        var contenu = document.getElementById("contenu");
        contenu.appendChild(nouveauLien) ;
        ajaxPost(" https://oc-jswebsrv.herokuapp.com/api/lien", lienAjoute, function (reponse) {}, true  
        );
        ajaxGet("https://oc-jswebsrv.herokuapp.com/api/liens", function (reponse) {
            // Transforme la réponse en tableau d'objets JavaScript
            var results = JSON.parse(reponse);
            var contenu = document.getElementById("contenu");
// Parcours de la liste des liens et ajout d'un élément au DOM pour chaque lien
 
 
 
            var lienRenvoye = {
                titre: results.titre
                , url: results.url
                , auteur: results.auteur
            };
 
 
 
 
for (i= 0;i<= results.length; i++) {
 
 
lienRenvoye.forEach(function (lienRenvoye) {
    var elementLien1 = creerElementLien(results);
    contenu.appendChild(elementLien1);
});
    console.log(elementLien1);
 
}
            //var nouveauLienrenvoye = creerElementLien(lienRenvoye);
            //var contenu = document.getElementById("contenu");
            //contenu.appendChild(nouveauLienrenvoye);
        });
        // sessionStorage.setItem("Liens",results);
        form.style.visibility = "hidden";
        boutonElt.style.visibility = "visible";
        //Message de confirmation
        var messageElt = document.createElement("p");
        messageElt.textContent = "Le lien \"" + lienAjoute.titre + "\" a bien été ajouté.";
        pElt.insertBefore(messageElt, boutonElt);
        // Suppresion du message
        setTimeout(function () {
            pElt.removeChild(messageElt);
        }, 2000);
        e.preventDefault(); // Annulation d'envoi des données
    });
});
// Vérification de l'existence d'une donnée enregistrée auparavant
// (ce ne sera le cas que si la page a été rafraîchie)
if (sessionStorage.getItem("autosave")) {
    // Restauration du contenu du champ
    nouveauLienrenvoye = sessionStorage.getItem("autosave");
}
// Écoute des changements de valeur du champ
nouveauLienrenvoye.addEventListener("change", function () {
    // Enregistrement de la saisie utilisateur dans le stockage de session
    sessionStorage.setItem("autosave", nouveauLienrenvoye);
});

Voici la partie concernée:


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
ajaxGet("https://oc-jswebsrv.herokuapp.com/api/liens", function (reponse) {
            // Transforme la réponse en tableau d'objets JavaScript
            var results = JSON.parse(reponse);
            var contenu = document.getElementById("contenu");
// Parcours de la liste des liens et ajout d'un élément au DOM pour chaque lien
 
 
 
            var lienRenvoye = {
                titre: results.titre
                , url: results.url
                , auteur: results.auteur
            };
 
 
 
 
for (i= 0;i<= results.length; i++) {
 
 
lienRenvoye.forEach(function (lienRenvoye) {
    var elementLien1 = creerElementLien(results);
    contenu.appendChild(elementLien1);
});
    console.log(elementLien1);
 
}
            //var nouveauLienrenvoye = creerElementLien(lienRenvoye);
            //var contenu = document.getElementById("contenu");
            //contenu.appendChild(nouveauLienrenvoye);
        });
Si vous pouviez m'aider , cela fait pas mal de temps que je suis dessus.
Merci beaucoup.