Problème de contenu d'une variable suite à requete AJAX.

Problème de contenu d'une variable suite à requete AJAX. - HTML/CSS - Programmation

Marsh Posté le 30-07-2006 à 15:26:13    

Bonjour à tous,
 
j'ai un petit problème dans ce bout de code : la variable texte_aide est toujours la meme alors qu'elle devrait changer.
 
Voici mon code.
 

Code :
  1. <script language="JavaScript">
  2.  /* FONCTION DE CONNEXION A UN FICHIER ET RECUPERATION DE SON CONTENU */
  3.  function file(fichier)
  4.  {
  5.   if(window.XMLHttpRequest)   xhr_object = new XMLHttpRequest();
  6.   else if(window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP" );
  7.   else return(false);
  8.   xhr_object.open("GET", fichier, false);
  9.   xhr_object.send(null);
  10.   if(xhr_object.readyState == 4) return(xhr_object.responseText); else return(false);
  11.  }
  12.  // RECHARGEMENT  
  13.  var time=2;
  14.  function CountDown()
  15.  {
  16.   if(time>0)
  17.   {
  18.    time=time-1;
  19.    setTimeout("CountDown()", 1000);
  20.   }
  21.   else
  22.   {
  23.    texte_aide = file('http://www.nom_de_domaine.com/nom_fichier.php');
  24.    document.getElementById('messages_chat').innerHTML = ''+texte_aide+'';
  25.    time=2;
  26.    setTimeout("CountDown()", 1000);
  27.   }
  28.  }
  29.  </script>


 
 
Auriez vous une idée ?

Message cité 1 fois
Message édité par crealuna le 30-07-2006 à 15:28:12
Reply

Marsh Posté le 30-07-2006 à 15:26:13   

Reply

Marsh Posté le 30-07-2006 à 15:57:47    

crealuna a écrit :

Bonjour à tous,
 
j'ai un petit problème dans ce bout de code : la variable texte_aide est toujours la meme alors qu'elle devrait changer.
 
Voici mon code.
 

Code :
  1. <script language="JavaScript">
  2.  /* FONCTION DE CONNEXION A UN FICHIER ET RECUPERATION DE SON CONTENU */
  3.  function file(fichier)
  4.  {
  5.   if(window.XMLHttpRequest)   xhr_object = new XMLHttpRequest();
  6.   else if(window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP" );
  7.   else return(false);
  8.   xhr_object.open("GET", fichier, false);
  9.   xhr_object.send(null);
  10.   if(xhr_object.readyState == 4) return(xhr_object.responseText); else return(false);
  11.  }
  12.  // RECHARGEMENT  
  13.  var time=2;
  14.  function CountDown()
  15.  {
  16.   if(time>0)
  17.   {
  18.    time=time-1;
  19.    setTimeout("CountDown()", 1000);
  20.   }
  21.   else
  22.   {
  23.    texte_aide = file('http://www.nom_de_domaine.com/nom_fichier.php');
  24.    document.getElementById('messages_chat').innerHTML = ''+texte_aide+'';
  25.    time=2;
  26.    setTimeout("CountDown()", 1000);
  27.   }
  28.  }
  29.  </script>


 
 
Auriez vous une idée ?


 
C'est quoi une requête AJAX ? [:petrus75] Tu sais ce que veux dire AJAX ?
 
Ensuite, ton problème n'est pas lié à l'appel à xmlhttprequest, mais au cache de ton navigateur. A partir de là, google te donnera ta réponse en 5 secondes.  
 
 

Reply

Marsh Posté le 30-07-2006 à 16:35:14    

J'ai fais un raccourci en requete AJAX pour dire que j'exécutais des requetes en passant par du javascript.
 
Pour le cache, ça me parait bizarre, vu que quand je lance les fonctions par un onclick par exemple et non par le setimeout, la variable change bien de valeur.
 
Pour faire simple, j'ai mis dans la page appelé simplement
 
$i = mt_rand(1,10000);
echo $i
 
Et malheureusement il renvoie toujours le meme chiffre. Il y a surement un problème de cache qq part. mais j'ai pourtant dans le header mis un pragma no cache.


Message édité par crealuna le 30-07-2006 à 16:37:07
Reply

Marsh Posté le 30-07-2006 à 16:40:26    

ok finalement c'est résolu en ajoutant
 
 
header("Expires: " . gmdate("D, d M Y H:i:s" ) . " GMT" );
header("Cache-Control: no-store, no-cache, must-revalidate" );
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache" );
 
le pragma no cache ne suffisant pas.
 
merci :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed