Javascript 缓存AJAX请求

Javascript 缓存AJAX请求,javascript,asp.net,ajax,caching,xmlhttprequest,Javascript,Asp.net,Ajax,Caching,Xmlhttprequest,我使用以下内容来缓存我的ASP.NET页面 Response.Cache.SetExpires(DateTime.Now.AddSeconds(60)); 问题是,当我将AJAX XmlHttpRequest请求从其他页面发送到此页面时,该响应不会在任何浏览器上缓存,而是在IE上缓存。在IE上,即使我没有指定,它也会缓存。如何使其成为缓存?有客户端解决方案吗?提前感谢…请参阅以下链接: 正在过期的缓存: header("Cache-Control: private, max-age=$s

我使用以下内容来缓存我的ASP.NET页面

Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
问题是,当我将AJAX XmlHttpRequest请求从其他页面发送到此页面时,该响应不会在任何浏览器上缓存,而是在IE上缓存。在IE上,即使我没有指定,它也会缓存。如何使其成为缓存?有客户端解决方案吗?提前感谢…

请参阅以下链接:

正在过期的缓存:

  header("Cache-Control: private, max-age=$seconds");
  header("Expires: ".gmdate('r', time()+$seconds));
我希望它能帮助您。

请参阅以下链接:

正在过期的缓存:

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

我希望它能对您有所帮助。

您可以在url末尾添加一个动态查询字符串,以便每次从ajax请求中获取唯一的数据

因此,ajax请求的url可以如下所示:

var myUrl = "http://mysite.com/hello.aspx?timestamp=" + new Date().getTime();

您可以在url的末尾添加一个动态查询字符串,以便每次从ajax请求中获取唯一的数据

因此,ajax请求的url可以如下所示:

var myUrl = "http://mysite.com/hello.aspx?timestamp=" + new Date().getTime();

这也许不能回答你的问题。。但是我认为应该对ajax请求进行服务器端缓存,而不是客户端缓存。。如果您担心的是重复ajax请求的性能。。客户端缓存有许多基于用户和浏览器类型的参数,这不是缓存的理想场所


理想情况下,客户端缓存是让用户设置为独立于网站/web应用程序来提高其浏览性能。

这可能无法回答您的问题。。但是我认为应该对ajax请求进行服务器端缓存,而不是客户端缓存。。如果您担心的是重复ajax请求的性能。。客户端缓存有许多基于用户和浏览器类型的参数,这不是缓存的理想场所


理想情况下,客户端缓存是让用户设置为独立于网站/web应用程序来提高其浏览性能。

类似的问题:您可能已经知道这一点,但确保您的请求是GET而不是POST很重要-大多数浏览器不会缓存POST请求,无论其标题是什么,但重要的是要确保您的请求是GET而不是POST-大多数浏览器都不会缓存POST请求,无论其标题是什么。。。IE缓存它,即使你刷新。。。我已经用更改的内容测试了它。。。在这种情况下,唯一的解决方法是关闭浏览器并重新启动…检查:但请相信我。。。IE缓存它,即使你刷新。。。我已经用更改的内容测试了它。。。在这种情况下,唯一的解决方法是关闭浏览器,然后重新启动…检查:但我该怎么做?这就是我的问题所在。我正在搜索客户端解决方案,因为标准服务器端解决方案不适用于我。对于服务器端缓存:如果您使用IIS 6+用于web服务器,您应该能够在IIS配置级别为web应用程序本身设置“输出缓存”。。最简单的方法,没有任何代码更改。但是我该怎么做呢?这就是我的问题所在。我正在搜索客户端解决方案,因为标准服务器端解决方案不适用于我。对于服务器端缓存:如果您使用IIS 6+用于web服务器,您应该能够在IIS配置级别为web应用程序本身设置“输出缓存”。。最简单的方法,无需任何代码更改。