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 17/02/2008, 12h09   #1
Membre du Club
 
Inscription : octobre 2005
Messages : 58
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 58
Points : 42
Points : 42
Par défaut XMLHttpRequest Probleme apres rafraichissement

Voilà, j'ai écrit un bout de code qui affiche dans une DIV un bout de texte contenu dans un fichier en utilisant XMLHttpRequest.

Tout marche très bien jusqu'au moment où je decide de rafraichir la page (F5). Une fois le rafrachissement effectué plus rien ne s'affiche et quand je clique sur les liens rien ne répond.

Mon code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<html>
<head>
    <script src="jsFunctions.js"></script>
</head>
<body onload="functionsToPerformOnIndexLoad();">
 
    <a href="#" onclick="javascript:displayRecipesDiv('favoris');">Favoris</a> <a href="#" onclick="javascript:displayRecipesDiv('nouvelles');">Nouvelles</a>						 
    <div id="favoris">
 
    </div>
    <div id="nouvelles">
 
    </div>
 
</body>
</html>
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
function functionsToPerformOnIndexLoad() {
    displayRecipesDiv('favoris');
}
 
function displayRecipesDiv(divId) {
	if(divId == 'favoris') {
		getInnerHTML(divId,"favoris.php");
	}
	if(divId == 'nouvelles') {
		getInnerHTML(divId,"nouvelles.html");
	}
	document.getElementById(divId).style.display = 'block';
	if(divId != 'favoris') {
		document.getElementById('favoris').style.display = 'none';
	}
	if(divId != 'nouvelles') {
		document.getElementById('nouvelles').style.display = 'none';
	}
}
 
function getInnerHTML(divId,url) { 
	var xhr_object = null;   
 
	if(window.XMLHttpRequest) { 
		xhr_object = new XMLHttpRequest();
	}
	else if(window.ActiveXObject) {   
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else { // XMLHttpRequest non supporté par le navigateur   
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");   
    	return;   
 	}   
 
 	xhr_object.open("GET", url, true);   
   	xhr_object.send(null); 
 	xhr_object.onreadystatechange = function() {   
    	if(xhr_object.readyState == 4) {
			document.getElementById(divId).innerHTML = xhr_object.responseText;
		}
 	}   
}
J'utilise IE7.

edit: je viens de vérifier, je n'ai aucun soucis sous Firefox donc ça semble être un probleme avec IE.



Merci d'avance.
Uren est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2008, 12h47   #2
Membre du Club
 
Inscription : octobre 2005
Messages : 58
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 58
Points : 42
Points : 42
En ajoutant dans la fonction getInnerHTML() la ligne:
Code :
url += "?d=" + (new Date()).getTime();
Je n'ai plus de probleme.
Uren 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 19h38.


 
 
 
 
Partenaires

Hébergement Web