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] Valeur de retour


Sujet :

AJAX

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [AJAX] Valeur de retour
    Bonjour,
    Je suis débutant en javascript et, j'ai actuellement un problème relatif à mon code.
    Je réalise une petite interface web pour gérer les processus sur un serveur perso et j'ai donc produit ce code :
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    (function(){
     
        var buttons = document.getElementsByTagName('input');
     
            for (var i = buttons.length - 1; i >= 0; i--) {
                buttons[i].onclick = function(){
                    toggleServer(this.id);
                }
            };
     
            function toggleServer(server)
            {
                if(isRunning(server) != true)
                {
                    disableOthers(server);
                }
                else
                {
                    enableOthers(server)
                }
            }
     
            function disableOthers(server)
            {
                for (var i = buttons.length - 1; i >= 0; i--) {
                    if(buttons[i].id != server)
                    {
                        buttons[i].disabled = true;
                    }
                };
            }
     
            function enableOthers(server)
            {
                for (var i = buttons.length - 1; i >= 0; i--) {
                    if(buttons[i].id != server)
                    {
                        buttons[i].disabled = '';
                    }
                };
            }
     
            function isRunning(server)
            {
                var xhr = new XMLHttpRequest();
                var response;
                xhr.open('GET', 'ajax.php?server=' + server);
     
                xhr.onreadystatechange = function()
                {
                    if(xhr.readyState == 4 && xhr.status == 200)
                    {
                        response = xhr.responseText;
                    }
     
                    return response;
                };
     
                xhr.send(null);
     
            }
     
            (function manageButtonsAtStarting()
            {
                for (var i = buttons.length - 1; i >= 0; i--) {
                    if(isRunning(buttons[i].id) == 'true')
                    {   
                        buttons[i].disabled = '';
                    }
                    else
                    {
                        buttons[i].disabled = 'true';
                    }
                }
            })();
     
        })();
    Or, quand j'essaie d'afficher le code "isRunning('java')" avec un "alert()', je tombe sur un "undefined", alors que la fonction ci-dessus retourne xhr.responseText, une chaîne de caractères qui vaut soit 'true', soit 'false'.
    Il y aurait-il une subtilité que je n'aurais pas comprise ?
    Merci d'avance pour votre aide !

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonsoir et bienvenue sur DVP,
    cette article devrait fort t’intéresser Un classique AJAX : utiliser les données au bon moment !

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci, je pensais que vérifier le "readyState" et le statut suffisaient mais je vais voir ça ! Merci encore !

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

Discussions similaires

  1. ajax et php et valeur de retour
    Par bdisplay dans le forum jQuery
    Réponses: 6
    Dernier message: 27/08/2009, 12h43
  2. [AJAX] XmlHttpRequest : récupérer la valeur de retour
    Par jmnicolas dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 04/08/2008, 15h37
  3. [AJAX] Récupération d'une valeur en retour d'un php
    Par lodan dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 08/02/2007, 21h18
  4. Valeur de retour d'une procédure externe
    Par elekis dans le forum x86 32-bits / 64-bits
    Réponses: 4
    Dernier message: 16/04/2004, 16h45
  5. Pourquoi une seule valeur de retour pour les fonctions ?
    Par Bruno75 dans le forum Langages de programmation
    Réponses: 33
    Dernier message: 18/01/2004, 13h58

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