Je cherche à me familiariser avec la fonction XMLHttpRequest. Mais j'ai un
problème avec Internet Explorer (avec Netscape, par exemple, pas de
souci)...
Voici un premier petit code que j'ai fais :
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<HTML>
<HEAD>
<script type="text/javascript">
function file(fichier) {
if(window.XMLHttpRequest) { // FIREFOX
xhr_object = new XMLHttpRequest();
} else if(window.ActiveXObject) { // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
} else {
return(false);
}
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) {
return(xhr_object.responseText);
} else {
return(false);
}
}
Le problème est que ça me renvoie toujours la même chose jusqu'à ce que je
vide le cache de mon navigateur.
Une idée ?
Merci !!
- mv1 -
P.S. : la seule chose monstrueuse que je fais pour palier à ça pour le
moment est que j'ai modifier ma ligne " xhr_object.open("GET", fichier,
false);" pour donner :
date = new Date;
xhr_object.open("GET", fichier+"?plop="+date.getTime(), false);
Du coup, le nom du fichier est toujours différent, et là ça marche !! mais
franchement, c'est pas beau du tout.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Thierry
"mv1" <mv1 at free point fr> wrote in news:4450a0bc$0$30119$:
P.S. : la seule chose monstrueuse que je fais pour palier à ça pour le moment est que j'ai modifier ma ligne " xhr_object.open("GET", fichier, false);" pour donner : date = new Date; xhr_object.open("GET", fichier+"?plop="+date.getTime(), false); Du coup, le nom du fichier est toujours différent, et là ça marche !! mais franchement, c'est pas beau du tout.
J'ai du faire exactement la même chose pour eviter de perdre du temps a chercher une solution plus propre (peut-etre avec des headers HTTP expire ou autre....).
"mv1" <mv1 at free point fr> wrote in
news:4450a0bc$0$30119$636a55ce@news.free.fr:
P.S. : la seule chose monstrueuse que je fais pour palier à ça pour le
moment est que j'ai modifier ma ligne " xhr_object.open("GET",
fichier, false);" pour donner :
date = new Date;
xhr_object.open("GET", fichier+"?plop="+date.getTime(), false);
Du coup, le nom du fichier est toujours différent, et là ça marche !!
mais franchement, c'est pas beau du tout.
J'ai du faire exactement la même chose pour eviter de perdre du temps a
chercher une solution plus propre (peut-etre avec des headers HTTP expire
ou autre....).
"mv1" <mv1 at free point fr> wrote in news:4450a0bc$0$30119$:
P.S. : la seule chose monstrueuse que je fais pour palier à ça pour le moment est que j'ai modifier ma ligne " xhr_object.open("GET", fichier, false);" pour donner : date = new Date; xhr_object.open("GET", fichier+"?plop="+date.getTime(), false); Du coup, le nom du fichier est toujours différent, et là ça marche !! mais franchement, c'est pas beau du tout.
J'ai du faire exactement la même chose pour eviter de perdre du temps a chercher une solution plus propre (peut-etre avec des headers HTTP expire ou autre....).
ftc
Bonjour,
Je cherche à me familiariser avec la fonction XMLHttpRequest. Mais j'ai un problème avec Internet Explorer (avec Netscape, par exemple, pas de souci)...
Voici un premier petit code que j'ai fais : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <HTML> <HEAD> <script type="text/javascript"> function file(fichier) { if(window.XMLHttpRequest) { // FIREFOX xhr_object = new XMLHttpRequest(); } else if(window.ActiveXObject) { // IE xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); } else { return(false); } xhr_object.open("GET", fichier, false); xhr_object.send(null); if(xhr_object.readyState == 4) { return(xhr_object.responseText); } else { return(false); } }
Le problème est que ça me renvoie toujours la même chose jusqu'à ce que je vide le cache de mon navigateur.
C'est lié à la spécification HTTP qui dit qu'un fichier demandé avec la méthode GET peut être mis en cache par le navigateur.
Il faudrait peut être stipuler les conditions de mise en cache avec les header dans le fichier PHP.
Bonjour,
Je cherche à me familiariser avec la fonction XMLHttpRequest. Mais j'ai un
problème avec Internet Explorer (avec Netscape, par exemple, pas de
souci)...
Voici un premier petit code que j'ai fais :
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<HTML>
<HEAD>
<script type="text/javascript">
function file(fichier) {
if(window.XMLHttpRequest) { // FIREFOX
xhr_object = new XMLHttpRequest();
} else if(window.ActiveXObject) { // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
} else {
return(false);
}
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) {
return(xhr_object.responseText);
} else {
return(false);
}
}
Je cherche à me familiariser avec la fonction XMLHttpRequest. Mais j'ai un problème avec Internet Explorer (avec Netscape, par exemple, pas de souci)...
Voici un premier petit code que j'ai fais : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <HTML> <HEAD> <script type="text/javascript"> function file(fichier) { if(window.XMLHttpRequest) { // FIREFOX xhr_object = new XMLHttpRequest(); } else if(window.ActiveXObject) { // IE xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); } else { return(false); } xhr_object.open("GET", fichier, false); xhr_object.send(null); if(xhr_object.readyState == 4) { return(xhr_object.responseText); } else { return(false); } }
"mv1" <mv1 at free point fr> wrote in news:4450a0bc$0$30119$:
P.S. : la seule chose monstrueuse que je fais pour palier à ça pou r le moment est que j'ai modifier ma ligne " xhr_object.open("GET", fichier, false);" pour donner : date = new Date; xhr_object.open("GET", fichier+"?plop="+date.getTime(), false); Du coup, le nom du fichier est toujours différent, et là ça marc he !! mais franchement, c'est pas beau du tout.
J'ai du faire exactement la même chose pour eviter de perdre du temps a chercher une solution plus propre (peut-etre avec des headers HTTP expi re ou autre....).
Ca m'étonnerait que ça marche ...
J'irais plutôt voir dans les réglage du butineur vérifier si on rec harge à chaque fois la page. Je me pose vraiment des questions sur la façon dont sont gérer les caches dans les différents navigateurs.
"mv1" <mv1 at free point fr> wrote in
news:4450a0bc$0$30119$636a55ce@news.free.fr:
P.S. : la seule chose monstrueuse que je fais pour palier à ça pou r le
moment est que j'ai modifier ma ligne " xhr_object.open("GET",
fichier, false);" pour donner :
date = new Date;
xhr_object.open("GET", fichier+"?plop="+date.getTime(), false);
Du coup, le nom du fichier est toujours différent, et là ça marc he !!
mais franchement, c'est pas beau du tout.
J'ai du faire exactement la même chose pour eviter de perdre du temps a
chercher une solution plus propre (peut-etre avec des headers HTTP expi re
ou autre....).
Ca m'étonnerait que ça marche ...
J'irais plutôt voir dans les réglage du butineur vérifier si on rec harge
à chaque fois la page.
Je me pose vraiment des questions sur la façon dont sont gérer les
caches dans les différents navigateurs.
"mv1" <mv1 at free point fr> wrote in news:4450a0bc$0$30119$:
P.S. : la seule chose monstrueuse que je fais pour palier à ça pou r le moment est que j'ai modifier ma ligne " xhr_object.open("GET", fichier, false);" pour donner : date = new Date; xhr_object.open("GET", fichier+"?plop="+date.getTime(), false); Du coup, le nom du fichier est toujours différent, et là ça marc he !! mais franchement, c'est pas beau du tout.
J'ai du faire exactement la même chose pour eviter de perdre du temps a chercher une solution plus propre (peut-etre avec des headers HTTP expi re ou autre....).
Ca m'étonnerait que ça marche ...
J'irais plutôt voir dans les réglage du butineur vérifier si on rec harge à chaque fois la page. Je me pose vraiment des questions sur la façon dont sont gérer les caches dans les différents navigateurs.
Patrick Mevzek
Dans donneCar.php: <?php header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
Le 26 juillet 1997 n'était pas un lundi.
-- Patrick Mevzek . . . . . . Dot and Co (Paris, France) <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
Dans donneCar.php:
<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
Le 26 juillet 1997 n'était pas un lundi.
--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
Dans donneCar.php: <?php header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
Le 26 juillet 1997 n'était pas un lundi.
-- Patrick Mevzek . . . . . . Dot and Co (Paris, France) <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
Thierry
Freddy DISSAUX wrote in news::
function MiseAJour () { alert (file ("donneCar.php"));
Dans donneCar.php: <?php 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");
ici le reste du code... ?>
fonctionne très bien. (IE 5.x, 6.x)
J'avais essayé avec uniquement header("Cache-Control: no-cache"); Quesqu'y fait que ton code marche ? L'ajout des Expire / Last-Modified ?
-- Cercher boulot informaticien sur Toulouse, Nantes et Bordeaux de préférence. CV par retour de courrier. (gros systèmes s'abstenir)
Freddy DISSAUX <freddy_point_dsx@free_point_fr.invalid> wrote in
news:slrne51vk3.2k8j.freddy_point_dsx@k6-2.bsdsx.fr:
function MiseAJour () {
alert (file ("donneCar.php"));
Dans donneCar.php:
<?php
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");
ici le reste du code...
?>
fonctionne très bien. (IE 5.x, 6.x)
J'avais essayé avec uniquement header("Cache-Control: no-cache");
Quesqu'y fait que ton code marche ? L'ajout des Expire / Last-Modified ?
--
Cercher boulot informaticien sur Toulouse, Nantes et Bordeaux de
préférence.
CV par retour de courrier. (gros systèmes s'abstenir)
J'avais essayé avec uniquement header("Cache-Control: no-cache"); Quesqu'y fait que ton code marche ? L'ajout des Expire / Last-Modified ?
Cela dépend du navigateur et des en-têtes qu'il supporte (puisque c'est bien un problème de client), certains se contenteront du "Cache-Control: no-cache", d'autres auront besoin d'arguments supplémentaires. Il semble que ce soit le cas avec IE :)
J'avais essayé avec uniquement header("Cache-Control: no-cache");
Quesqu'y fait que ton code marche ? L'ajout des Expire / Last-Modified ?
Cela dépend du navigateur et des en-têtes qu'il supporte (puisque
c'est bien un problème de client), certains se contenteront du
"Cache-Control: no-cache", d'autres auront besoin d'arguments
supplémentaires. Il semble que ce soit le cas avec IE :)
J'avais essayé avec uniquement header("Cache-Control: no-cache"); Quesqu'y fait que ton code marche ? L'ajout des Expire / Last-Modified ?
Cela dépend du navigateur et des en-têtes qu'il supporte (puisque c'est bien un problème de client), certains se contenteront du "Cache-Control: no-cache", d'autres auront besoin d'arguments supplémentaires. Il semble que ce soit le cas avec IE :)