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

JavaScript Discussion :

[AJAX] changement de page


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut [AJAX] changement de page
    bonjour tous le monde

    voila, je debute en ajax
    je comprends pas, normalement on fait une requete au serveur et sans rechargement de page, ma requete s'effectue...

    mais la, ca change de page!

    je montre mon code et j'explique....

    le code du XMLHttpRequest:
    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
    <script type="text/javascript" src="oXHR.js"></script>
    <script type="text/javascript">
    <!-- 
    function sendData(prod, famille, page) {
     
            var xhr = getXMLHttpRequest();
     
            if(xhr && xhr.readyState != 0) {
                    xhr.abort(); 
            }
     
            xhr.onreadystatechange = function() { 
                    if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
                            getData(xhr.responseText); 
                    } else if(xhr.readyState == 2 || xhr.readyState == 3) {
     
                    }
            }
     
            xhr.open("GET", "panier4_2.php?prod=" + prod +"&famille=" + famille +"&page=" + page + "", true);
            xhr.send(null);
    }
     
    function getData(sData) {
            alert(sData);
    }
    maintenant le code de panier 4_2 :
    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
    <?php
    session_start();
    if(isset($_GET['prod'])and isset($_GET['famille']) and isset($_GET['page']))
    {
    $famille=$_GET['famille'];
    $page=$_GET['page'];
    $id=$_GET['prod'];
    $qte=1;echo $famille;
    if( empty($_SESSION['panier'][$id]) )
    {
    $_SESSION['panier'][$id]=$qte;
     echo'article ajoute';
     
    }
    }
    voila : et quand j'appuie sur le lien, j'ai un alert '"valeur de $famille"article ajoute'
    puis la page charge vers panier4_2 qui marque $famille;

    pourquoi est ce qu'on change de page???

    ne devait on pas rester sur ma page d'origine??

    merci de m'eclairer

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Tu n'aurais pas un href="panier4_2.php" dans ton lien par hasard ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut
    bah...si
    (logique je veux qu'il effectue la requete située dans panier 4_2
    tout en restant dans la meme page)

    mais normalement ca reste sur la meme page

    exemple similaire qui marche :
    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
    38
    39
    40
    function sendData() {
            var xhr = getXMLHttpRequest();
     
            if(xhr && xhr.readyState != 0) {
                    xhr.abort(); 
            }
     
            xhr.onreadystatechange = function() { 
                    if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
                            document.getElementById("loading").innerHTML = "";
                            getData(xhr.responseText); 
                    } else if(xhr.readyState == 2 || xhr.readyState == 3) {
                            document.getElementById("loading").innerHTML = "<p>Chargement en cours</p>";
                    }
            }
     
            var pseudo = encodeURIComponent(document.getElementById("input_pseudo").value);
            var prenom = encodeURIComponent(document.getElementById("input_prenom").value);
            xhr.open("GET", "XMLHttpRequest_1.php?Pseudo=" + pseudo + "&Prenom=" + prenom + "", true);
            xhr.send(null);
    }
     
    function getData(sData) {
            alert(sData);
    }
    //-->
    </script>
    </head>
    <body>
    <div id="loading"></div>
    <p>
            <label for="input_pseudo">Pseudo : </label>
            <input type="text" id="input_pseudo" />
            <br />
            <label for="input_prenom">Pr&eacute;nom : </label>
            <input type="text" id="input_prenom" />
            <br /><br />
            <input type="button" onclick="sendData();" value="Envoyer" />
    </p>
    </body>
    et la page XMLHttpRequest_1.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php 
     
    header("Content-Type: text/plain");
    if(isset($_GET['Pseudo']) && isset($_GET['Prenom']) && $_GET['Pseudo'] != "" && $_GET['Prenom'] != "") {
            echo "Votre pseudo est ".$_GET['Pseudo'].", et vous vous appelez ".$_GET['Prenom']." !";
    } else {
            echo "Mauvaise saisie";
    }
     
    ?>
    et la on reste bien sur la premiere page,y a un alert des donnees rentrees dans les champs et on va pas sur XMLHttpRequest_1.php, on reste sur la page d'origine
    ...quesque j ai pas compris???

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ben dans l'exemple que tu donnes, je vois pas vraiment de href mais un onclick... c'est pas tout à fait pareil...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut
    ouais desole mais dans mon premier code j avais oublié ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo '<a class="menu" href="panier4_2.php?prod='.$donnees['id'].'&famille='.$famille.'&page='.$page.'" onClick="sendData(\''.$donnees['id'].'\',\''.$famille.'\',\''.$page.'\');">panier</a>';?>
    donc j ai un lien qui fait onclick sur ma fonction....


    je comprends vraiment pas...

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ben quand tu cliques sur ton lien, le onclick se lance puis le href t'envoie vers la page cible sans attendre la fin du onclick...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut
    HOW CA MARCHE


    MERCI MERCI MERCI


    TROOOOOOOOOOOP FORT


    MERCI BEAUCOUP

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/11/2017, 22h43
  2. Changement de page avec un header fixe (navigation ajax)
    Par la-ilaha-ila-allah dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 28/01/2014, 13h51
  3. Réponses: 2
    Dernier message: 14/11/2012, 10h56
  4. [Débutant] Changement de page Ajax
    Par Nadinette dans le forum ASP.NET MVC
    Réponses: 0
    Dernier message: 09/11/2012, 22h09
  5. [AJAX] [IE] Requete Ajax en cours et changement de page
    Par ..:: Atchoum ::.. dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/10/2007, 12h30

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