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] Lancer une 2eme fonction apres la reponse de la 1ere fonction


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 121
    Points : 73
    Points
    73
    Par défaut [AJAX] Lancer une 2eme fonction apres la reponse de la 1ere fonction
    Si j'ai bien compris le tuto, le CALLBACK dans ajax permet de "faire une action" apres avoir recu la reponse du serveur.

    Je me sert d'ajax pour tester un formulaire. Je voudrais apres la reponse du serveur, lancer une autre fonction. Voila ma fonction:

    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
    <script type="text/javascript" src="XHRConnection.js"></script>
    <script type="text/javascript">
     
    function remplirChamp1(obj) 
    {
    	document.getElementById('un').innerHTML = obj.responseText;
    }
     
     
    function sendData1()
    {
    var XHR = new XHRConnection();
    XHR.appendData('Nom', document.getElementsByName('Nom')[0].value);
    XHR.appendData('Prenom', document.getElementsByName('Prenom')[0].value);
    XHR.sendAndLoad('sendinscription.php', 'POST', remplirChamp1);
    }
    et mon autre fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function rafraichir() {
    	var XHR = new XHRConnection();		
    	XHR.setRefreshArea('trois');
    	XHR.appendData('');
    	XHR.sendAndLoad("classement.php", "POST");
    }
    Comment faire afin de lancer la deuxieme fonction apres la reponse de la premiere ?

    Help

  2. #2
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Tu peux donner le code de XHRConnection ?
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 121
    Points : 73
    Points
    73
    Par défaut
    XHR, c'est une bibliotheque qui gere juste la connexion, je ne peux pas t'en dire plus...

    XHRConnection propose les méthodes suivantes:
    ref XHRConnection (boolean debug)
    Le constructeur. Si vous voulez spécifier le débuggage, passez true en paramètre.
    void setDebugOn ()
    Active l'affichage des exceptions
    void setDebugOff ()
    Désactive l'affichage des exceptions
    void resetData ()
    Permet d'initialiser la variable contenant les données à envoyer
    void appendData (string pfield, string pvalue)
    Permet d'alimenter les données à envoyer, accepte un nom de variable et une valeur.
    boolean sendAndLoad (string url, string httpMode [, ref callBack])
    Envoi des informations à la page url en utilisant la méthode HTTP httpMode

  4. #4
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Il semble que cette bibliothèque soit trop spécifique, tu peux attaquer
    à un niveau plus bas en utilisant directement l'objet XmlHttpRequest
    qui lui propose une callback lors des échanges avec le serveur.

    Un exemple très basique ici http://www.coursweb.ch/javascript/ajax-request.html

    Sinon il y a aussi les tuto ajax sur développez
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 121
    Points : 73
    Points
    73
    Par défaut
    Il y a pourtant ceci:

    sendAndLoad (string url, string httpMode [, ref callBack])

    Vu que je suis débutant en ajax, je me demandais si ce n'étais pas possible avec ca ?

  6. #6
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Ok, alors essaye

    sendAndLoad (url, httpMode , function() { alert('ok'); } );
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 121
    Points : 73
    Points
    73
    Par défaut
    Je me dis que je n'utilise que cette bibliotheque pour mon site donc...
    Je fais juste des raffraichissement de div, des envoie dans une table et des test de formulaire...

    Donc je dois rajouter ce que tu viens de me donne à cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    XHR.sendAndLoad('sendinscription.php', 'POST', remplirChamp1);
    et la fonction a declencher en callback est: rafraichir1()

    Comme ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    XHR.sendAndLoad ('sendinscription.php', 'POST', remplirChamp1, rafraichir1() { alert('ok'); } );

  8. #8
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function rafraichir1() {
      alert('ok');
    }
    XHR.sendAndLoad ('sendinscription.php', 'POST', remplirChamp1, rafraichir1);
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    XHR.sendAndLoad ('sendinscription.php', 'POST', remplirChamp1, function() { alert('ok'); } );
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 121
    Points : 73
    Points
    73
    Par défaut
    J'ai testé les deux facons que tu m'as donné mais ca ne marche pas.
    En fait, il n'y a pas d'erreur générée et la premiere fonction est executee mais pas la deuxieme (le callback)...

    Quelqu'un peut-il m'aider ?

    Peut-etre quelqu'un qui utilise la bibliotheque XHR ?

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/04/2010, 17h10
  2. [AJAX] Lancer une 2eme fonction dans la premiere
    Par sixieme-sens dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/11/2008, 17h42
  3. Réponses: 9
    Dernier message: 10/01/2007, 09h31
  4. [vc++ express]probleme de lancer une 2eme form
    Par k_boy dans le forum VC++ .NET
    Réponses: 6
    Dernier message: 04/09/2006, 03h38
  5. Comment lancer une 2eme form a partir d'un bouton
    Par Ice-tea dans le forum Delphi
    Réponses: 3
    Dernier message: 07/06/2006, 21h40

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