Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » HTML, CSS, JavaScript

Кэширование xmlhttp request

Обсуждение темы Кэширование xmlhttp request в разделе HTML, CSS, JavaScript, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Приятно видеть, что мой аккаунт все еще тут есть =) Есть такая проблема, гаджет для сайдбара получает данные с сервера таким вот образом: ...


Закрытая тема
 
Опции темы
Старый 14.01.2011, 17:22   #1
Приятно видеть, что мой аккаунт все еще тут есть =)
Есть такая проблема, гаджет для сайдбара получает данные с сервера таким вот образом:
Код:
 {
  var xmlhttp = getXmlHttp();
  xmlhttp.open('GET', "http://letswow.ru/ajax/realmstatus", false);
  xmlhttp.setRequestHeader("Cache-Control", "no-cache");
  xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
  xmlhttp.send(null);
  if(xmlhttp.status == 200)
  {
    var p = eval("(" + xmlhttp.responseText+ ")");
...
Данные в текством формате json. Эти данные обрабатываются и через яваскрипт вставляются иннер текстом в нужные блоки в html странички гаджета. Но, sidebar эти данные получает и кэширует, т.е. при следующем выполнении функции заного с сервера они не берутся. Для обхода кэширования добавил в функцию строчки:
Код:
  xmlhttp.setRequestHeader("Cache-Control", "no-cache");
  xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
На портированном сайдбаре для WindowsXP сей метод проканал. Данные начали обновляться как им и положено, но на оригинальном сайдбаре в ОС Vista и 7 он неработает.
Помогите пожалуйста заставить сайдбар не кэшировать эти данные не обновляя всю html страничку гаджета, т.к. это выглядит не очень хорошо, да и данные из других переменных стираются.
 
Старый 14.01.2011, 17:22
Ссылки
Старый 17.01.2011, 17:25   #2
xmlhttp.open('GET', "http://letswow.ru/ajax/realmstatus", false);

попробуйте изменить на что-то типа:
var rand = new Date().getTime();
xmlhttp.open('GET', "http://letswow.ru/ajax/realmstatus?rand="+rand, false);
 
Старый 18.01.2011, 19:07   #3
или
xmlhttp.open('GET', "http://letswow.ru/ajax/realmstatus?rand="+Math.random(), false);

как вариант
 
Старый 18.01.2011, 19:07
Закрытая тема




Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В движке (cms) сайта для чего нужны многосессионность и кэширование? andrei_a ASP, Perl, PHP и MySQL 2 03.06.2006 12:08
Кэширование страниц Shumell_Veter HTML, CSS, JavaScript 3 04.06.2003 19:39


Текущее время: 08:05. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум