Requête ajax via jQuery [Résolu/Fermé]

Signaler
Messages postés
7
Date d'inscription
mercredi 30 janvier 2013
Statut
Membre
Dernière intervention
18 août 2013
-
Messages postés
784
Date d'inscription
mardi 9 décembre 2003
Statut
Membre
Dernière intervention
19 février 2018
-
Bonjour,

Mon problème est simple : j'ai fait une requête http post vers un fichier php à l'aide de jQuery, mais l'objet retourné est vide. Je ne vois pas mon erreur?
Mon code est aussi très simple :

Javascript
$('form').submit(function(){
          
          var postData = $(this).serialize(); // postData donne par exemple "pseudo=bob"
          $.ajax({
              type: 'POST',
              data: postData,
              dataType: 'json',
              url: 'http://mondomaine.com/chemin/fichier.php',
              success: function(data){
                console.log(data);
                alert(data);
              },
              error: function(){
                alert('Erreur de connexion.');   
              }
          }); 
          return false;

});


Et voici le PHP:
header('HTTP/1.1 200 OK');
header('Content-type: application/json');

$response = $bdd->query("SELECT * FROM ma_table WHERE pseudo = '".$_POST['pseudo']."'");
echo '{'; 
while ($data = $response->fetch())
{
    echo '"pseudo": "'.$data['pseudo'].'",';
    echo '"password": "'.$data['password'].'"';
}
echo '}';
$response->closeCursor(); 

Ce PHP, testé avec Postman génère bien le json ci-dessous quand on lui met (dans cet exemple) pseudo=bob en variable post.

JSON
{
    "pseudo": "bob",
    "password": "mdp"
}


Mais voilà : ça marche avec Postman, mais dans la console je n'ai rien. Donc mon javascript coince quelque part. Et la fonction isEmptyObject(data) me retourne bien true, donc quelque chose ne doit pas aller dans ma requete ajax.

Du coup, juste pour info, le "alert(data)" m'affiche "[object Object]".
et un "alert(data.pseudo)" m'affiche "undefined".

Mon but est juste de récupérer la valeur de pseudo, à savoir "bob".
J'ai littéralement écumé le net en français comme en anglais sans aucune réponse adéquate...

Merci d'avance à celui ou celle qui jettera un oeil à mon problème.

Eric.


2 réponses

Messages postés
7
Date d'inscription
mercredi 30 janvier 2013
Statut
Membre
Dernière intervention
18 août 2013

Le code ci-dessus n'a pas d'erreur, le problème venait juste de l'attribut name de mon formulaire qui ne s'appelait pas "pseudo" mais "username", du coup la variable post avait pour clé "username"...
Il suffisait d'une nuit de sommeil pour réaliser ça... :/
Messages postés
784
Date d'inscription
mardi 9 décembre 2003
Statut
Membre
Dernière intervention
19 février 2018
171
Bonjour,

oui des fois une bonne pause et le problème est réglé ;)