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] Arrêter timeout ajax dans la page appelée


Sujet :

AJAX

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 62
    Par défaut [AJAX] Arrêter timeout ajax dans la page appelée
    Bonjour,

    J'utilise actuellement un script qui actualise la div "apDiv5" via la page aff.php toutes les 10 secondes, cependant je voudrais arreter le timeout en fonction de la reponse du fichier aff.php est t'il possible ?

    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
    function Ajax(){
    var xmlHttp;
    	try{	
    		xmlHttp=new XMLHttpRequest();// Firefox, Opera 8.0+, Safari
    	}
    	catch (e){
    		try{
    			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
    		}
    		catch (e){
    		    try{
    				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    			}
    			catch (e){
    				alert("No AJAX!?");
    				return false;
    			}
    		}
    	}
     
    xmlHttp.onreadystatechange=function(){
    	if(xmlHttp.readyState==4){
    		document.getElementById('apDiv5').innerHTML=xmlHttp.responseText;
    var t = setTimeout('Ajax()',10000);
    	}
    }
    xmlHttp.open("GET","aff.php?idscript=333333",true);
    xmlHttp.send(null);
    }
     
    Ajax();

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

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Sauf qu'il faudra que ta variable t soit globale parce que dans ton code, t n'est accessible que dans la fonction de rappel du readyStateChange.
    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
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 62
    Par défaut
    desoler de te demander sa mais je suis debutant mais comment faire passer cette variable en global ?

    J'ai essayer de mettre clearTimeout(t); dans la page aff.php mais le timeout continue ...

    Merci de ton aide

  4. #4
    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 : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var t;
    function Ajax(){
        // ...
        t = setTimeout(...);
        // ...
    }
    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

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 62
    Par défaut
    J'ai bien déclarer la variable t dans la page principal et inserer le cleartimeout dans ma page aff.php , mais elle continue a recharger es que j'ai oublier quelque chose ?

  6. #6
    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 : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Le code JavaScript présent dans la réponse AJAX n'est pas interprété lorsque tu l'insères dans la page.
    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

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 62
    Par défaut
    ok c'est bien ce que je pensait mais il n'est pas possible de faire ce que je veux faire ?

  8. #8
    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 : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Si, c'est possible bien sûr, mais il faut faire différemment. Il existe différentes techniques pour le faire. Je te laisse chercher.
    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

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 62
    Par défaut
    tu aurait pas une petite piste parce que je sais pas quoi chercher

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 62
    Par défaut
    J'ai essayer en mettant la variable "act" dans le code principal mais le crono ne fonctionne plus du tout
    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
    <script>
    var t;
    var act;
    function 		
    Ajax(){
    var xmlHttp;
    	try{	
    		xmlHttp=new XMLHttpRequest();// Firefox, Opera 8.0+, Safari
    	}
    	catch (e){
    		try{
    			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
    		}
    		catch (e){
    		    try{
    				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    			}
    			catch (e){
    				alert("No AJAX!?");
    				return false;
    			}
    		}
    	}
     
    xmlHttp.onreadystatechange=function(){
    	if(xmlHttp.readyState==4){
    		document.getElementById('apDiv5').innerHTML=xmlHttp.responseText;
    if(act == ""){
    t = setTimeout('Ajax()',10000);}
    	}
    }
    xmlHttp.open("GET","aff.php?idscript=333333",true);
    xmlHttp.send(null);
     
    }
     
    Ajax();
     
    </script>
    voici ce que j'ai mis dans mon fichier aff.hpp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if($varphptable =="oui"){
    <script>var act="oui";
    </script>}
    logiquement si $varphptable dans le fichier php aff.php le crono ne devrait plus continuer non ?

    J'y comprend rien c'est pas logique

Discussions similaires

  1. Réponses: 14
    Dernier message: 18/07/2011, 23h54
  2. [AJAX] Recharger un tableau dans une page à partir d'une thickbox
    Par benthebest dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/10/2008, 11h24
  3. [AJAX] IE + getElementsByTagName() = Erreur dans la page
    Par Borowsky dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 03/07/2008, 17h03
  4. [AJAX] Des fenetres flottantes dans une page
    Par localhost dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/05/2007, 12h25
  5. [AJAX] Saut de ligne dans une page html
    Par rapace dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/02/2006, 09h44

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