Bonjour,
J’essaye d’extraire mes données JSON de fonction $.post de AJAX. Ma requête passe bien en PHP et la réponse fonctionne aussi. J’obtiens la chaine suivante : "username":"Votre pseudo n'est pas valide (alphanum\u00e9rique)","email":"Votre email n'est pas valide","password":"Vous devez rentrer un mot de passe valide","title":"Vous n'avez pas rempli le formulaire correctement"}

J’ai deux problèmes :
• Je n’arrive pas à extraire ces données en HTML de manière propre: en bullet point en utilisant <ul> et <li> et avec charset="utf-8". J'obtiens juste les données brutes décrites ci-dessus.

• Je n’arrive pas non plus à extraire cette chaine de donnée en javascript afin de pouvoir la réutiliser dans d'autres conditions ou boucles. Quand je fais console.log(data) j’obtiens undefined.

Pouvez–vous svp m’aider ? Merci!!
Voici mon code :


<script>

        $(document).ready(function(){

        $("#buttonajax").click(function(){

            $.post('register3.php', {
                username : $("#username").val(),
                password : $("#password").val(),
                passwordconfirm : $("#passwordconfirm").val(),
                email : $("#email").val()

            },
           function( data ){
                  $("#errors1").html(data);
                  var obj = data;

                    }
            ,
         );
    });
    });

    </script>

<html> 
<ul> 
        <li><div id="errors1"> </div> </li>
      <br><br>
</ul>       

</html> 

3 réponses


alors moi perso j'ai rien compris à ton problème.... et il serai interessant de montrer ton traitement PHP si tu veux qu'on t'aide.

d'un coté tu dit que ca marche et d'un autre, tu dit que console.log(data) = undefined

ca marche ou ca marche pas ?

Oui je reçois bien la réponse PHP que je vois dans ma console sous l'onglet réseau Post.response et j'arrive bien à l'afficher en donner brut en html mais j'obtiens "ReferenceError: data is not defined" quand je fais console.log(data) dans la console. J'ai moi aussi du mal à comprendre ce qui se passe. Je mettrais pas tout le code php. Je ne pense pas que ca soit utile car je reçois une réponse de PHP dans mon fichier JS mais voici comment j'encode les données en PHP pour les envoyer à ajax: ($errors est un array de 4 lignes 2 colonnes maximum)

 if(!empty($errors)){
    $errors['title']="Vous n'avez pas rempli le formulaire correctement";
    echo json_encode($errors);}