Partage
  • Partager sur Facebook
  • Partager sur Twitter

[JS] Fonctionnement de responseText

    22 mai 2019 à 23:16:22

    Bonjour,

    Petit problème de débutant :

    postForm.addEventListener('submit', function(e){
            e.preventDefault();
            let mailValue = document.getElementById('change_mail').value;
            let result = ajaxPost(mailValue, "<?php echo $_SESSION['pseudo'] ?>");
            console.log(result);
            if (result == 'True')
            {
              alertMail.innerHTML = 'Email modifié';
            }
            else
            {
              alertMail.innerHTML = 'Erreur';
            }
          });
    function ajaxPost (data, nick){
      let req = new XMLHttpRequest;
      req.open('post', 'includes/change_mail.php');
      req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    
      req.addEventListener('readystatechange', function(){
        if (req.readyState == XMLHttpRequest.DONE && (req.status == 200 || req.status == 0))
        {
          console.log(req.responseText);
          return req.responseText;
        }
        else if (req.readyState == XMLHttpRequest.DONE && (req.status != 200 || req.status != 0))
        {
          alert('Une erreur est survenue. \n\n Code : ' + req.status + '\n Texte : ' + req.statusText);
        }
      })
      req.send('data=' + data + '&nick=' + nick);
    }
    

    Je n'arrive pas à comprendre pourquoi mon 'console.log(req.responseText)' fonctionne correctement mais pas mon console.log(result) (qui est undefinied). N'est-ce pas la même chose ?

    Si quelqu'un peut éclairer ma lanterne,

    Merci d'avance



    • Partager sur Facebook
    • Partager sur Twitter
      23 mai 2019 à 11:24:29

      Ton return dans le "ajaxPost" retourne la valeur "req.reponseText" qu'au niveau de ta fonction anonyme. Ta fonction ne retourne donc rien ce qui explique que ton result ne soit pas défini.
      • Partager sur Facebook
      • Partager sur Twitter
        25 mai 2019 à 10:27:53

        Compris, merci beaucoup !
        • Partager sur Facebook
        • Partager sur Twitter

        [JS] Fonctionnement de responseText

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown