Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/08/2011, 11h00   #1
Futur Membre du Club
 
Inscription : décembre 2008
Messages : 58
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 58
Points : 19
Points : 19
Par défaut Cache IE8 et AJAX

Bonjour à tous,

Je souhaite réactualiser une partie de ma page lorsque que je clic sur un lien.
Mais malheureusement cette réactualisation ne s'effectue pas sur IE, tous fonctionne à merveille sur les autres navigateur.
Il semblerait que se soit à cause du cache de IE.

J'ai beau ajouter au début de mes fichiers

Code :
1
2
3
4
5
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-cache, must-revalidate');
header('Pragma: no-cache'); 
header('Content-type: text/html; charset=ISO-8859-1');
Rien n'y fait cela ne réactualise pas ma ligne de mon tableau

Voici le code Ajax

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/*
	* Méthode qui sera appelée sur le click du lien
	*/
	function go_traite( id_tr, id_concours, id_membre )
	{
		var xhr = getXhr();
		// On défini ce qu'on va faire quand on aura la réponse
		xhr.onreadystatechange = function(){
			// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
			if(xhr.readyState == 4 && xhr.status == 200){
				// leselect = 
				// On se sert de innerHTML pour rajouter les options a la liste
				document.getElementById('id_tr_'+id_tr).innerHTML = xhr.responseText;
			}
		}
 
		// Ici on va voir comment faire du post
		xhr.open("POST","rafraichi_traite.php",false);
		// ne pas oublier ça pour le post
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		// ne pas oublier de poster les arguments
		sel = document.getElementById( 'id_tr_'+id_tr );
		xhr.send( "id_tr="+id_tr+"&id_concours="+id_concours+"&id_membre="+id_membre );
	}
Si quelqu'un à une solution je suis preneur.
runner77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2011, 22h50   #2
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 779
Points : 4 779
Bonsoir,
il me semble que la http://javascript.developpez.com/faq...Ajax#xhr-cache, devrait répondre à ta question...
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/08/2011, 10h59   #3
Futur Membre du Club
 
Inscription : décembre 2008
Messages : 58
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 58
Points : 19
Points : 19
Merci beaucoup, je me doutais bien qu'il existait un autre moyen de le faire en JS mais je ne trouvais pas .
Cependant j'avait un autre soucis qui venait aussi de IE. En effet IE ne peut remplacer le contenu d'une élément HTML par innerHTML seulement si cet élément est un DIV, le mien ne l'étais pas.

Merci encore
runner77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h28.


 
 
 
 
Partenaires

Hébergement Web