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] Syntaxe


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    261
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 261
    Points : 125
    Points
    125
    Par défaut [AJAX] Syntaxe
    Je voudrais utiliser Ajax pour ceci

    Un click sur une image img1.gif doit
    1) Faire envoyer une variable php sur le serveur
    2) Faire un update sur ma base
    3) Au retour l'image doit etre remplacée par img2.gif

    J'ai une variable php connue nommée $ma_variable
    que je n'affiche pas cependant dans la page (donc pas de DIV ID)

    Pour expedier ma variable en POST comment dois-je faire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="tampon.gif" onclick="go()">
    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
     
    function go(){
    getXhr();
    xhr.onreadystatechange = function(){
     
    if(xhr.readyState == 4 && xhr.status == 200){
    monretour = xhr.responseText;
    document.getElementById('...................').innerHTML = monretour;
    }
    }
     
    //je poste et fait ma requete
    xhr.open("POST","../ajax.php",true);
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    xhr.send("ID="+.........);
    }


    Que dois-je mettre à la place des pointillés ?

    Merci à tous

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 291
    Points : 217
    Points
    217
    Par défaut
    Bonjour,

    Peut-etre qu'en passant ta variable php à la fonction go() et en mettant un div autour de ton image ça pourrait marcher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
     
    echo '<div id="image" ><img src="tampon.gif" onclick="go('.$taVariable.')"></div>';
    ?>
    et
    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
     
    function go(taVariable){
    getXhr();
    xhr.onreadystatechange = function(){
     
    if(xhr.readyState == 4 && xhr.status == 200){
    monretour = xhr.responseText;
    document.getElementById('image').innerHTML = monretour;
    }
    }
     
    //je poste et fait ma requete
    xhr.open("POST","../ajax.php",true);
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    xhr.send("ID="+taVariable);
    }

  3. #3
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Si tu utilises toujours la même variable (enfin dans cette page générée par PHP), tu peux directement le mettre dans la méthode (javascript) go :

    Code php : 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
     
    function go(){
    getXhr();
    xhr.onreadystatechange = function(){
     
    if(xhr.readyState == 4 && xhr.status == 200){
    monretour = xhr.responseText;
    document.getElementById('...................').innerHTML = monretour;
    }
    }
     
    //je poste et fait ma requete
    xhr.open("POST","../ajax.php",true);
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    xhr.send("ID=<?php echo $taVariable; ?>");
    }

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    261
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 261
    Points : 125
    Points
    125
    Par défaut
    Apres prise de tete en isolant morceau par morceau,
    la bonne solution était celle de fayred

    Ta solution, Denis, ne fonctionne pas... ???
    La page est faite sur le serveur mais le script est appelé puis généré sur le client
    C'est pas cela le problème ?

    Merci beaucoup pour votre aide

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

Discussions similaires

  1. AJAX - Syntaxe accent variable retournée
    Par Striliz dans le forum AJAX
    Réponses: 2
    Dernier message: 29/06/2016, 22h06
  2. [AJAX] Résultat d'un appel ajax : syntaxe ?!
    Par laloune dans le forum jQuery
    Réponses: 2
    Dernier message: 13/03/2013, 10h05
  3. [Prototype] Ajax Updater et SPIP conflit de syntaxes
    Par vidasonora dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 22/04/2009, 17h38
  4. [Prototype] Ajax - La syntaxe
    Par jeremypd dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 30/01/2009, 14h37
  5. [AJAX] Syntaxe avec AJAX
    Par kstou2001 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/09/2007, 14h09

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