Problème de rafraichissement en AJAX sour IE

Pierrot25

WRInaute occasionnel
Bonjour à tous
Voila je découvre l'AJAX depuis hier et je fais des tests basics pour commencer.

J'ai un problème que je ne comprends pas. Pouvez vous me dire si vous avez déjà eu ce pb et si oui, quoi faire ? config apache pour vider le cache du serveur, instruction à rajouter dans la page html, ailleurs ?

En gros je liste ma table (liste1), j'ajoute un enregistrement et je reliste la table (liste2)
RESULTAT : liste 1 = liste 2 (enfin sous IE parceque ca a l'air de marcher sous FF)

Voila le code

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <script type="text/javascript" language="javascript">
        var http_request = false;
		
		function ajax(url) {  
	        http_request = false;
	
			if (window.XMLHttpRequest) { 
				http_request = new XMLHttpRequest();
				if (http_request.overrideMimeType) {
					http_request.overrideMimeType('text/xml');
				}
			} else if (window.ActiveXObject) { 
				try {
					http_request = new ActiveXObject("Msxml2.XMLHTTP");
				} catch (e) {
					try {
						http_request = new ActiveXObject("Microsoft.XMLHTTP");
					} catch (e) {}
				}
			}
	
			if (!http_request) {
				alert('Giving up :( Cannot create an XMLHTTP instance');
				return false;
			}
			
			http_request.onreadystatechange = alertContents;
			http_request.open('GET', url, true);
			http_request.send(null);
		}

		function alertContents() {
			if (http_request.readyState == 4) {
				if (http_request.status == 200) {
					var docXML= http_request.responseXML;
					var items = docXML.getElementsByTagName("donnee");
					var i;
					document.getElementById("zone").value = '<br>';
					for (i=0;i<items.length;i++)
        	        {
						document.getElementById("zone").innerHTML += items.item(i).firstChild.data+'<br>';
					}
				} else {
					alert('There was a problem with the request.');
				}
			}

		}
        </script>
 
    </head>
    <body>
        <a href="javascript:ajax('lire.php');">lister la table</a><br><br><br>
        
        <div id="zone">
		Liste :<br>
		</div> 
	
	<br><br><br><br>
    <a href="javascript:ajax('ajouter.php');">ajouter un enregistrement</a>
    </body>
</html>
Et la page de test :
--http://www.pierrot25.info/test/newsletter.html

Merci d'avance pour votre aide toujours précieuse !
 

Pierrot25

WRInaute occasionnel
madx a dit:
m**** mais comment tu fais pour retrouver des posts comme ca ! je dois pas savoir chercher :(

bref sinon merci bcp.
solution proposee : "ajax.php?d=" + (new Date()).getTime(); --> MARCHE dommage d'etre oblige de passer un argument pr rien !

l'autre solution : header("Pragma: no-cache") ; --> MARCHE PAS chez moi

Y'a pas une troisieme solution plus propre ?
 

madx

WRInaute occasionnel
J'ai une bonne mémoire ;-)
Et surtout j'ai eu le pb, et j'utilise la méthode avec l'argument.
 

Discussions similaires

Haut