[AJAX] IE .. Peut etre probleme de cache ?
Bonjour j'ai une page d accueil sur laquelle j'ai deux colonnes qui contiennent des DIVs voir image ci-dessous
http://i11.servimg.com/u/11/00/69/07/th/box10.gif
Lorsque je clique sur la box test5 puis sous la box nommée test4
Et bien test5 vient ce mettre sous test4 comme vu sur l'image ci--dessous
http://i11.servimg.com/u/11/00/69/07/th/box210.gif
Lors de ce transfert je fait appel a un script qui réalise une requete dans la base de donnee afin de stocker les nouvelles coordonnées de la box nommée test5 ....
et ainsi de suite pour les autres boxs de la gauche vers la droite .... et au final on doit obtenir ce resultat :
http://i11.servimg.com/u/11/00/69/07/th/box310.gif
Tous se passe bien sous FireFox cependant sous IE seul les coordonnées de la première box sont sauvegardées ... les autres bougent bien par une fonction javascript , et j appelle bien ma page pour modifier mes coordonnées mais rien ....
Je pense que le problème viendrai d'une mise en cache sous IE :
Il a la page en cache donc il la recupére mais du coup n'effectue pas mes requetes SQL ....
Mon code est le suivant
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
|
var xhr = null;
function getXhr(){
if(window.XMLHttpRequest)
{ // Firefox et autres
xhr = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{ // Internet Explorer
try
{
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else
{ // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
} |
initialisation du xhr ci-dessus
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
function bougeDivBox(divElement,address){
faireBougerMesDiv(): // fonction qui fait bouger les div visuellements su r la page
getXhr();
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
alert(xhr.responseText)
}
};
var tempSend = null;
xhr.open("GET",address,true);
xhr.send(tempSend);
} |
Je pense vraiment que le soucis vient d un probleme de cache sous IE alors j ai essayé de rajouter dans mon code des choses du genre :
Code:
1 2 3 4 5
|
xhr.setRequestHeader( "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" );
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.setRequestHeader("Cache-Control", "no-cache");
xhr.setRequestHeader("Connection", "close"); |
Mais dans ce cas de figure plus rien ne fonctionne :( ni sous IE ni sous firefox !!!
Merci pour votre aide car sa fait maintenant une semaine que je planche sur le sujet
j'espere avoir ete le plus coomplet possible et dans le cas contraire je repondrai a vos questions
LDC