Requête ajax via jQuery

Résolu/Fermé
Erhic2 Messages postés 7 Date d'inscription mercredi 30 janvier 2013 Statut Membre Dernière intervention 18 août 2013 - Modifié par Erhic2 le 14/08/2013 à 09:22
Angelneonizz Messages postés 784 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 19 février 2018 - 14 août 2013 à 10:11
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

Erhic2 Messages postés 7 Date d'inscription mercredi 30 janvier 2013 Statut Membre Dernière intervention 18 août 2013
14 août 2013 à 09:35
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... :/
0
Angelneonizz Messages postés 784 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 19 février 2018 137
14 août 2013 à 10:11
Bonjour,

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