Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cours : Créez des pages web interactives avec Java

requête AJAX infructueuse

    18 juin 2019 à 22:35:02

    Bonjour, 

    Je suis en train de finaliser mon suivi du cours « Créez des pages web interactives avec JavaScript » et j’ai rencontré un problème sur le premier exercice de la page "envoyez des données à un serveur web" <https://openclassrooms.com/fr/courses/3306901-creez-des-pages-web-interactives-avec-javascript/3626521-envoyez-des-donnees-a-un-serveur-web>

    Il s’agit de l’exercice intitulé « Ajout d’un article » ; j’ai fait mes recherches pour coder une solution et après de nombreux essais infructueux, j’ai regardé la solution. 

    La solution proposé sur la page me semble parfaitement identique à celle que j’ai codée pourtant, j’obtiens toujours un erreur 400 Bad Request : il semble que le format envoyé au serveur ne soit pas avec la bonne syntaxe.... 

    Je vous donne mon code JS ci-dessous pour vérification (j’ai utilisé un élément div d’id ‘confirmation’ pour afficher la validation de l’envoi au serveur). Peut-être y verrez-vous des choses que je n’ai pas vues ! 

    Je fait appel à la fonction ajaxPost définie plus tôt dans le cours.

    Merci d’avance pour vos éventuels éclaircissements !

    ————————————— 


    let form = document.querySelector('form'), 

    confirmation = document.getElementById('confirmation');

    form.addEventListener('submit', function(e) {

    e.preventDefault();

    let data = new FormData(form); 



    ajaxPost('https://oc-jswebsrv.herokuapp.com/article', data, function() { 

    confirmation.textContent = "L'article a bien été ajouté."; 

    });

    })` 

    • Partager sur Facebook
    • Partager sur Twitter
      19 juin 2019 à 9:38:07

      Salut !

      Utilise les balises de code pour rendre ton code plus clair et plus lisible :)

      Moi je vois ligne 1 à la fin il y a une virgule : ce devrait être un point-virgule, non ?

      Pareil à la toute fin de ton code, je ne comprends pas trop le })` après peut être que je vois mal à cause de la non-indentation du code

      • Partager sur Facebook
      • Partager sur Twitter

      Life is about more than just survival

        20 juin 2019 à 15:38:05

        Merci beaucoup pour ta réponse et le conseil concernant le code ! C'est mon premier post sur le forum et je n'avais pas vu la possibilité ; cela m'aidera bien si j'en ai d'autres à faire ! :)

        Voici donc le code normalement convenablement présenté. La virgule de la ligne 1 correspond au groupement des variables que je définis et ne devrait pas poser de problèmes. Pareil pour les deux '})' qui correspondent respectivement à la fermeture de l'appel à la fonction ajaxPost et de la fonction anonyme définie dans l'écouter d'évènement 'submit'.

        let form = document.querySelector('form'),
            confirmation = document.getElementById('confirmation');
        
        form.addEventListener('submit', function(e) {
        
          e.preventDefault();
          var data = new FormData(form);
            
          ajaxPost('https://oc-jswebsrv.herokuapp.com/article', data, function() {
            confirmation.textContent = "L'article a bien été ajouté.";
          });
        
        })
        • Partager sur Facebook
        • Partager sur Twitter
          21 juin 2019 à 8:21:15

          Hmm, déjà ligne 13 il te faut un point-virgule après })

          Essaie de faire ça et de mettre un point virgule à la fin de la première ligne, juste pour voir (je n'avais jamais vu une ligne qui se terminait par une virgule comme ça avant)

          • Partager sur Facebook
          • Partager sur Twitter

          Life is about more than just survival

          Cours : Créez des pages web interactives avec Java

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