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] Connexion à espace membre : XMLHttpRequest() ou submit() ?


Sujet :

AJAX

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 24
    Points : 8
    Points
    8
    Par défaut [AJAX] Connexion à espace membre : XMLHttpRequest() ou submit() ?
    Bonjour, je découvre l'ajax et voudrais savoir ce qui est conseillé pour récupérer les données d'un formulaire en vue d'une connexion (via php et mysql).

    J'ai bidouillé 2 codes qui fonctionnent. Lequel vous semble le meilleur, le plus rapide?

    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
    $(document).ready(function(){
        $('#connexionForm').submit(function() {
            var pseudo, pass;
            pseudo = $('#pseudoconnexion').val();
            pass = $('#passconnexion').val();
     
            $.ajax({
                type: 'POST',
                url: 'connexion.php',
                dataType: 'json',
                data: 'pseudo='+pseudo+'&pass='+pass,
                success:
                    function(json) {
                    parseJSON(json);
                    }
            });
            return false;
        });
    });
     
    function parseJSON(json) {
    	var sessionPseudo = json.pseudo;
    	var sessionId = json.id;
    	//...afichage message de bienvenue etc.
    };
     
    //lancée dans le html par le submit du form :
    <input type="submit" value="GO !" name="bouton-connexion" />
    --- OU ---

    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
    function ajaxConnect()
    {
    var xmlhttp;
    if (window.XMLHttpRequest)
      {  xmlhttp=new XMLHttpRequest();  }
    else
      {  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");  }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
    	var json = JSON.parse(xmlhttp.responseText);
    	var sessionPseudo = json.pseudo;
    	var sessionId = json.id;
    	//...afichage message de bienvenue etc.
        }
      }
    xmlhttp.open("POST","connexion.php",true);
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlhttp.send("pseudo=" + encodeURIComponent(document.getElementById("pseudoconnexion").value) + "&pass=" + encodeURIComponent(document.getElementById("passconnexion").value));
    // ou send en JQUERY :
    //xmlhttp.send( "pseudo=" + encodeURIComponent($('#pseudoconnexion').val()) + "&pass=" + encodeURIComponent($('#passconnexion').val()) );
    }
     
    //lancée dans le html par :
    <button type="button" onclick="ajaxConnect()">Go!</button>

    merci!

  2. #2
    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,

    La fonction submit de jQuery crée aussi un objet XMLHttpRequest. La différence, c'est qu'avec le framework jQuery, tu écrits que peu de code.

    A+.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 24
    Points : 8
    Points
    8
    Par défaut
    Merci!

    parfait, c'est noté!

    petite question supplémentaire :
    Dans le traitement de l'objet json retourné par php :

    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
    $.ajax({
    	type: 'POST',
    	url: 'connexion.php',
    	dataType: 'json',
    	data: 'pseudo='+pseudo+'&pass='+pass,
    	success:
    		function(json) {
                    $('#divID').fadeOut(); // fonctionne
                    $('#divID').innerHTML = json; // ne fonctionne pas, alors que :
     
    		var div = document.getElementById('divID'); // ceci
    		div.innerHTML = json; // fonctionne !!!!!???? UNE IDEE?
     
    		}
    });
    pour info : alert (typeof json); me donne string
    une idée? ça me paraît tordu comme comportement...

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 24
    Points : 8
    Points
    8
    Par défaut
    Trouvé!

    je me réponds à moi-même au cas où ça aiderait d'autres :

    J'ai mélangé JS de base :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var div = document.getElementById('divID');
    div.innerHTML = json;
    et JS agrémenté de jQuery :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#divID').html(json); // équivalent à innerHTML
    Les 2 marchent
    Ciao!

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

Discussions similaires

  1. Connexion espace membre: utilisateur non reconnu directement
    Par Benamour Jr dans le forum Langage
    Réponses: 1
    Dernier message: 15/09/2010, 11h23
  2. [PHP] Probléme de Connexion Espace Membre
    Par Adaeria dans le forum Langage
    Réponses: 3
    Dernier message: 04/12/2009, 11h38
  3. [MySQL] Connexion espace membre
    Par marygil dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 20/10/2009, 09h25
  4. [MySQL] Problème Connexion Espace Membres
    Par Luisito31 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/02/2009, 14h21
  5. [MySQL] Script de connexion (espace membre)
    Par razorlok dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 03/06/2008, 11h41

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