Recevoir une variable php en utilisant ajax et evenement

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par tidave971, 5 Avril 2010.

  1. tidave971
    tidave971 Nouveau WRInaute
    Inscrit:
    5 Avril 2010
    Messages:
    3
    J'aime reçus:
    0
    Bonjour,
    Alors voila, je voudrais faire ce qui suit en utilisant php et ajax.

    Alors j'ai une page ajax qui s'appelle "son.php", qui est recharger toutes 2 secondes par ajax .

    Cette page affiche simplement une variable php qui est "$son_messages", c'ette variable est soit "ok" soit vide.

    Alors mon probleme est le suivant:

    Je voudrais recuperer le resultat de cette variable par ajax, c'est a dire que mon script ajax lise ou recupere la variable $son_message en question et "agisse", suivant la valeur de cette variable.
    ar exemple : if($son_messages=="ok") alors on apelle une fonction qui s'appelle jouer_son() ou tout autre evenement, comme l'ouverture d'une pop up par exemple.

    Alors j'essaie d'etre le plus claire que possible.

    Alors voici mes codes.

    Le code qui appelle la page par ajax :

    Code:
    <script language="javascript" type="text/javascript"> 
    function refresh_div() { 
    var xhr_object = null; 
    if (window.XMLHttpRequest) { 
    xhr_object = new XMLHttpRequest(); 
    } else if (window.ActiveXObject) { 
    try { 
    xhr_object = new ActiveXObject('Microsoft.XMLHTTP'); 
    } catch(e) { 
    } 
    } else { 
    } 
    var method = 'GET'; 
    var filename = 'son.php'; 
    xhr_object.open(method, filename, true); 
    xhr_object.onreadystatechange = function() { 
    if(xhr_object.readyState == 4) { 
    var tmp = xhr_object.responseText; 
    document.getElementById('div_son').innerHTML = tmp; 
    } 
    }; 
    xhr_object.send(null); 
    } 
    window.onload = function() { 
    setTimeout(refresh_div, 2000); 
    }; 
    </script>

    Ma page "son.php" affiche simplement une variable, c'est elle que je veux recuperer.


    Code:
    <? echo $son_messages ;?>


    Merci de m'aider
    J'ai deja passé des jours dessus, sans resultats


    A bientôt
     
  2. tidave971
    tidave971 Nouveau WRInaute
    Inscrit:
    5 Avril 2010
    Messages:
    3
    J'aime reçus:
    0
    J'i essayé ça, pour faire un test mais ça marche pas

    Code:
    <script language="javascript" type="text/javascript"> 
    function refresh_div() { 
        var xhr_object = null; 
        if (window.XMLHttpRequest) { 
            xhr_object = new XMLHttpRequest(); 
        } else if (window.ActiveXObject) { 
            try { 
                xhr_object = new ActiveXObject('Microsoft.XMLHTTP'); 
            } catch(e) { 
            } 
        } else { 
        } 
        var method = 'POST'; 
        var filename = 'son.php'; 
        xhr_object.open(method, filename, true); 
        xhr_object.onreadystatechange = function() { 
            if(xhr_object.readyState == 4) { 
                var tmp = xhr_object.responseText; 
                document.getElementById('div_son').innerHTML = tmp; 
                   if (tmp == "ok")  {  
            alert("son ok") ;               
              } 
            var timer=setTimeout("refresh_div()",5000); // rafraichie toute les 1sec 
            } 
        } 
        xhr_object.send(null); 
    } 
    </script> 

    encore merci pour votre aide a venir
     
  3. aladdin
    aladdin WRInaute passionné
    Inscrit:
    29 Avril 2005
    Messages:
    1 246
    J'aime reçus:
    0
    Utilise jquery

    et dans le javascript il te suffira de faire

    Code:
    $.get('son.php', function(data) {
      if (data == 'OK')                               //<========= ici ton test
                   appel_ma_methode();
    });
    
    si tu trouve pas ton bonheur avec la methode get regarde ici http://api.jquery.com/category/ajax/ tu as un tas de methode pour gérer ajax de façon plus clean qu'en implémentant des XHR à la mano.
     
  4. tidave971
    tidave971 Nouveau WRInaute
    Inscrit:
    5 Avril 2010
    Messages:
    3
    J'aime reçus:
    0
    Merci pour ta réponse
    mais là je suis un peu perdu
    donc je vais potasser un peu

    A bientôt

    Je pensais pas que c'etait aussi dur de faire ce que je veux faire
    juste connaitre la valeur de tmp

    et d'agir en fonction


    J'essai avec tous les navigateurs
     
  5. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 887
    J'aime reçus:
    74
    Si tu veux que ça fonctionne avec tous les navigateurs, mieux vaut utiliser jquery ou prototype que de faire ça à la mano.
     
Chargement...
Similar Threads - Recevoir variable php Forum Date
Recevoir la variable page ou non URL Rewriting et .htaccess 23 Décembre 2009
Recevoir un chèque à une adresse anonyme Monétisation d'un site web 29 Septembre 2015
Lorsque recevoir des dizaines de liens légitimes vous rend nerveux Netlinking, backlinks, liens et redirections 19 Juin 2015
Recevoir une notification par mail quand un commentaire est posté Développement d'un site Web ou d'une appli mobile 22 Décembre 2014
Recevoir des visites via une page où le lien a été supprimé ? Google Analytics 13 Juin 2013
Recevoir un mail au format PDF Développement d'un site Web ou d'une appli mobile 2 Avril 2012
Recevoir des alertes pour les commentaires Facebook d'un article Facebook 11 Février 2012
Microsoft Nokia va recevoir des milliards de Microsoft Le café de WebRankInfo 15 Février 2011
Recevoir un mai si erreur 404 Développement d'un site Web ou d'une appli mobile 30 Décembre 2010
lien variable à bloquer sur robots Développement d'un site Web ou d'une appli mobile 3 Mai 2020
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice