lire un fichier de manière récursive (tant que)

Clarusad

Membre actif
5 Février 2004
393
9
Bonjour à tous,

J'aimerais vérifier l'état d'une variable (sans recharger la page sur laquelle je suis) qui peut changer d'état dans le temps, celle-ci se trouve dans un autre fichier PHP.
En fonction de cette vérification, une div déjà présente disparaîtra ou pas.

Pour cela j'imagine une boucle sur une requête ajax asynchrone, mais ça ne fonctionne pas. Voici le code :
Bloc de code:
var xhr_object = null;
xhr_object = new XMLHttpRequest();
xhr_object.open("GET", "checkOracle4DL.php", true);

xhr_object.onreadystatechange = function() {
    if(xhr_object.readyState == 4) {
        if (xhr_object.responseText==0)
            document.getElementById('wait').style.display="true";
            else
                document.getElementById('wait').style.display="none";
        }
    }

xhr_object.send(null);
Le fichier "checkOracle4DL.php" me retourne avec un echo 1 ou 0.

ça fonctionne si je recharge à la main ; c'est lorsque je veux ajouter une boucle que ça coince.
C'est sur le "xhr_object.send(null);" que je dois boucler ?
Merci pour votre aide.

---------- Nouveau message ajouté à 15h25 ---------- Le message précédent a été envoyé à 14h46 ----------

Je progresse, puisque j'ai trouvé une demi solution :
Bloc de code:
function checkOracle() {
    var xhr_object = null;
    xhr_object = new XMLHttpRequest();
    xhr_object.open("GET", "checkOracle4DL.php", true);

    xhr_object.onreadystatechange = function() {
        if(xhr_object.readyState == 4) {
            if (xhr_object.responseText==0)
                document.getElementById('wait').style.display="true";
                else
                    document.getElementById('wait').style.display="none";
            }
        }

    xhr_object.send(null);
}

setInterval("checkOracle()",1000);
L'état initial de mon fichier "checkOracle4DL.php" est à 0 ;
lorsqu'il passe à 1, la div disparaît (c'est ce que je voulais).
Mais si il repasse à 0, la div ne se ré-affiche pas.

C'est mieux, mais ce n'est pas encore ça...

---------- Nouveau message ajouté à 15h32 ---------- Le message précédent a été envoyé à 15h25 ----------

J'ai trouve : c'est dans la propriété CSS, pour afficher la div :
document.getElementById('wait').style.display="";
et non display="true" !