Кэширование запросов AJAX - PullRequest
       14

Кэширование запросов AJAX

2 голосов
/ 08 декабря 2010

Я использовал следующее для кэширования моей страницы ASP.NET.

Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));

Проблема в том, что когда я отправляю запрос AJAX (XmlHttpRequest) с другой страницы на эту страницу, этот ответ не кэшируется ни в одном браузере, кроме IE. (В IE он кэшируется, даже если я не укажу). Как мне сделать это кеш? Любое решение на стороне клиента? Заранее спасибо ...

Ответы [ 3 ]

1 голос
/ 08 декабря 2010

Ссылки:

Кэширование AJAX-запросов

http://developer.yahoo.net/blog/archives/2007/05/high_performanc_2.html
http://developer.yahoo.net/blog/archives/2007/07/high_performanc_11.html

Истекающий кеш:

  header("Cache-Control: private, max-age=$seconds");
  header("Expires: ".gmdate('r', time()+$seconds));

Я надеюсь, это поможет вам.

0 голосов
/ 08 декабря 2010

Это может не ответить на ваш вопрос ... но я думаю, что вы должны выполнять кэширование на стороне сервера вместо кэширования на стороне клиента для запросов AJAX ... если вы беспокоитесь о производительности при повторных запросах AJAX .. Кэширование на стороне клиента имеет многопараметров, основанных на пользователях и типах браузеров, что не является идеальным местом для кэширования.

Кэш на стороне клиента, в идеале, предназначен для пользователя, чтобы повысить его эффективность просмотра независимо от веб-сайтов / веб-приложений.

0 голосов
/ 08 декабря 2010

вы можете добавить динамическую строку запроса в конце URL, чтобы каждый раз получать уникальные данные из запроса ajax.

, чтобы ваш URL для запроса ajax мог выглядеть следующим образом:

var myUrl = "http://mysite.com/hello.aspx?timestamp=" + new Date().getTime();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...