IE8 все еще кеширует мои запросы даже с помощью mathrandom - PullRequest
3 голосов
/ 09 июня 2010

TLDR IE все еще кэширует мои запросы даже с включенным в URL Math.random ().


Итак, я добавил математический случай в конец своего URL:

var MYKMLURL = 'http://' + host + 'data/pattern?key='+ Math.random();

Я также добавил математический случай в свой параметр функции:

window.setTimeout(RefreshPatternData, 1000, MYKMLLAYER);


           function RefreshPatternData(layer) {
               layer.loaded = false;
               layer.setVisibility(true);
               layer.refresh({ force: true, params: { 'key': Math.random()} });
               setTimeout(RefreshPatternData, 30000, MYKMLLAYER);
           }

запрос выглядит как http://host/data/pattern?key=35678652545 и т. д.

Он изменяется каждый раз, когда делается запрос.

Он работает в Firefox, Chrome, Safari и т. д. Но IE8 все еще кэширует данные ине обновляет мой слой.

Есть идеи, почему это может происходить?


Итак, я добавил:

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">

Все еще кэширует данные.Есть еще идеи?

Ответы [ 2 ]

2 голосов
/ 09 июня 2010

У меня была похожая проблема с IE, и он кэшировал запросы AJAX.(Почему, Боже, зачем вам кешировать AJAX запрос?) Во всех остальных случаях все работало нормально, но IE требовал принудительное использование HTTP-заголовков, чтобы не кешировать AJAX-запрос.

Я долгозабыл URL, но смотрите: http://greenash.net.au/thoughts/2006/03/an-ie-ajax-gotcha-page-caching/

Кроме того, HTTP-заголовки, которые сделали это для меня, были:

Pragma: no-cache
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0

..., которые я, честно говоря, нашел в каком-то веб-сайте.

2 голосов
/ 09 июня 2010

Вы можете попробовать ответы на этот пост:

Предотвращение кеширования IE

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...