IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] AJAX erreur code 0 sur une méthode POST


Sujet :

AJAX

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2012
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Septembre 2012
    Messages : 22
    Points : 29
    Points
    29
    Par défaut [AJAX] AJAX erreur code 0 sur une méthode POST
    Bonjour à tous.

    Je suis sur un petit projet avec mon école: du WEB (). C'est quelque chose que je n'aime pas vraiment mais j'ai décidé de faire des efforts. Qui dit effort, pour moi, dit que j'essaye de me familiarisé avec l'ajax et le javascript.

    Je vous explique explique dans les grandes lignes mon problème:

    J'ai des utilisateurs dans une base de donnée. Sur la page d'accueil l'utilisateur peut se logger. Vous l'aurez compris, je souhaite que mon utilisateur se connecte sans qu'il est besoin de recharger la page. Mon erreur actuellement est une erreur de code 0. J'ai pu voir sur internet qu'il était possible que cela viennent du chemin du fichier mais j'ai essayer plusieurs types de chemin sans sucés.

    Mieux vaut mes petits bout de scripts que de grande paroles ... :

    Ma page navigation (ou l'on trouve le form). Rien a déclarer, je récupère bien le pseudo et le mot de passe dans le javascript

    Ma fonction ajax: (Pour le moment je souhaite seulement tester le bon fonctionnement avec des paramètre dit "bidon" ^^ )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    //Fonction qui permet de checker sans recharger la page que le pseudo est le mot de passe sont correct
    function testIdentifiant (){
        //On créer notre objet XMLHttpRequest
        var req =  creerInstance();
     
       /* On récupère les données du formulaire */
        var pseudo =document.login.pseudo.value;
        var motdepasse =document.login.motdepasse.value;
     
        //Permet de tester l'état de la requete. Voir plus bas pour l'utilité de chaque code
          req.onreadystatechange = function(){
            /* Si l'état = terminé */
            if(req.readyState == 4){
              /* Si le statut = OK */
              if(req.status == 200){
                /* On affiche la réponse */
                alert(req.responseText);
              }
              else{
                alert("Error: returned status code " + req.status + " " + req.statusText);
              }
            }
          }
     
          var coucou = "lol"
          //On prépare la chaine de caractère que l'on va envoyer à la page php
          pseudo = "pseudo="+coucou;
          //alert("Je suis après le donnée user");
          //On ouvre une connexion dans laquelle on definit la méthode d'envoie des données, le chemin de la page de traitement, et enfin si on soihaite que cela se fasse asynchron ou non
          req.open("POST","testLogin.php","true");
          //alert("Je suis après l'ouverture");
          //Permet d'envoyer les parametre dans un format encodré.
          req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
          //alert("Je suis après le header");
          req.send(pseudo);
          //alert("Je suis après le send");
    }
    Je reçois une erreur de type 0 et j'ai une chaîne vide dans le reqStatusText.


    Vient ensuite ma page testLogin.php:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
        $pseudo = $_POST["pseudo"];
        echo $pseudo;
    ?>

    Voila mes bout de code. Ensuite vient mon architecture de fichier (pour tester si cela venais de la j'ai mis ma page "testLogin.php" dans le même dossier que ma fonction AJAX

    Voici ma structure si ça peut aider à résoudre mon beug :
    Nom : forum.PNG
Affichages : 627
Taille : 10,3 Ko

    EDIT: J'ai dorénavant l'état de ma requête qui est à 4. J'ai l'impression qu'a aucun moment elle ne passe à 200...Bizarre

    En vous remerciant d'avance.

    Bien cordialement. Batou.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Humm... Tu utilises quoi pour faire tourner le PHP ? Un WAMP ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Le troisième paramètre de la méthode open est de type booléen mais pas un String.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    req.open("POST","testLogin.php",true);
    Et utilise aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(req.status == 200 || req.status == 0)
    A+.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Septembre 2012
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Septembre 2012
    Messages : 22
    Points : 29
    Points
    29
    Par défaut
    Bonjour, merci d'avoir pris le temps de répondre. Désolé de ne pas avoir répondu plus tôt.

    Donc j'utilise bien wamp / chrome pour le debug.

    Ensuite j'ai bien mis le troisième paramètre a true (en boolean).

    Effectivement, j'avais remarqué que le status de la requête était 0 donc j'ai mis la même conditions que vous m'avez donnée andry.aime mais toujours rien. Il ne me renvoie rien. J'ai le droit à un joli "Request was cancelled" dans netbeans.

    Je ne comprend vraiment pas.

    Cordialement.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Septembre 2012
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Septembre 2012
    Messages : 22
    Points : 29
    Points
    29
    Par défaut
    J'ai abandonner cette méthode et j'ai utilisé du Jquey. Cela fonctionne impeccable:

    Je vous met le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    //Fonction qui permet de checker sans recharger la page que le pseudo est le mot de passe sont correct
    function testIdentifiant (){
      //alert(jQuery('#login').val());
     
      jQuery.ajax
      ({
        url			: '../controleur/Utilisateurs/testLogin.php',
        type		: 'POST',
        async		: false,
        data		: 'pseudo='+jQuery('#login').val()+'&password='+jQuery('#password').val() ,
        success		: function(response, state)
        {
          if(response == 'ok')
          {
              alert('Coucou');
          }
          else
          {
              alert('Je ne te connais pas');
          }
        }
      });
    }

    PS: J'ai pas trouvé le bouton d'édition du message (je sais la honte ) alors si vous pouvez le remonter en haut ou bien le laissé comme cela

    Encore merci à ceux qui m'on aidé !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Gestion de deux listes sur une même table
    Par kabkab dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/01/2008, 13h48
  2. Avis sur une méthode de gestion d'erreur
    Par mikedavem dans le forum ASP.NET
    Réponses: 4
    Dernier message: 01/08/2007, 19h26
  3. [AJAX] Déplacer des objets HTML sur une page web
    Par brazilia28 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/06/2007, 12h47
  4. Réponses: 11
    Dernier message: 11/11/2006, 12h20
  5. gestion d'erreur resume next sur une portion de code
    Par aarlock dans le forum Access
    Réponses: 2
    Dernier message: 02/06/2006, 15h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo