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] requête AJAX et fonction sur le callback


Sujet :

AJAX

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Infographiste, webdevelopper, consultant en communication, bidouilleur sur Macintosh
    Inscrit en
    Septembre 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Infographiste, webdevelopper, consultant en communication, bidouilleur sur Macintosh
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2007
    Messages : 41
    Points : 35
    Points
    35
    Par défaut [AJAX] requête AJAX et fonction sur le callback
    Bonjour

    J'ai un petit soucis avec la requête suivante :
    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
     
    function traitementEtatContenuListe(liId) {
            if(objetXHR100.readyState==4) {
                if(objetXHR100.status==200) {
                    contenuListe(liId);
                }
            }
        }
     
        // lien avec le fichier PHP
        function etatContenuListe(liId, unId, etat) {
            masqueDiv();
            objetXHR100 = creationXHR();
            objetXHR100.onreadystatechange = traitementEtatContenuListe(liId);
            objetXHR100.open("get","./scriptPhp/etatContenuListe.php?liId="+liId+"&unId="+unId+"&etat="+etat,true);
            objetXHR100.send(null);
        }
    A mon avis, le problème se trouve au niveau de l'instruction "onreadystatechange = traitementEtatContenuListe(liId);".
    On dirait que je ne peux pas faire passer une variable dans cette instruction et du coup, le script se bloque...

    Qualqu'un a-t-il une idée ?

  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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par grafistolage
    A mon avis, le problème se trouve au niveau de l'instruction "onreadystatechange = traitementEtatContenuListe(liId);".
    On dirait que je ne peux pas faire passer une variable dans cette instruction et du coup, le script se bloque...
    Effectivement !
    Tu ferais bien de revoir l'utilisation des fonctions de rappel : Les fonctions de rappel (callback) ou les utilisations cachées de eval()
    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
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    En effet il faut lui passer une fonction, et pas une fonction exécutée
    Si tu n'avais pas de paramètres a passer tu pourrais faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objetXHR100.onreadystatechange = traitementEtatContenuListe;

    Mais pour passer un param il te faut passer par une "closure "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objetXHR100.onreadystatechange = function(){ traitementEtatContenuListe(liId)};
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Infographiste, webdevelopper, consultant en communication, bidouilleur sur Macintosh
    Inscrit en
    Septembre 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Infographiste, webdevelopper, consultant en communication, bidouilleur sur Macintosh
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2007
    Messages : 41
    Points : 35
    Points
    35
    Par défaut Merci
    Merci à vous tous pour vos réponses.
    Je débute en Ajax et le javascript reste encore un peu compliqué à appréhender pour moi.

    Je profite de cette réponse pour dire à quel point ce forum est utile à tous les développeurs et à quel point les participants sont compétents.

    Merci à tous !

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/10/2009, 18h46
  2. Réponses: 4
    Dernier message: 12/10/2009, 17h51
  3. Réponses: 1
    Dernier message: 24/07/2009, 02h59
  4. [AJAX] Conflits lors de deux requêtes AJAX dans la même fonction js
    Par fayred dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/07/2008, 14h49
  5. [AJAX] InlineMod - Ajax - Requêtes PHP-MySQL
    Par funkyy dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 09/04/2008, 17h17

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