在Jquery Get(AJAX)期间避免缓存的有效方法

时间:2012-04-05 04:14:19

标签: ajax asp.net-mvc caching jquery

我遇到通过Jquery获取创建的Ajax请求的随机缓存。

Jquery以最直接的传统方式完成(路线+参数+回调)

我已经在使用

$.ajaxSetup({cache:false});

但它似乎并不总是奏效。我知道ajaxSetup没有缓存是如何工作的,我看到添加的随机参数被添加到我的请求URL中。

我当前的浏览器是IE 8.0

除了ajaxSetup方式之外,有没有人知道另一个解决方案......

2 个答案:

答案 0 :(得分:2)

浏览器本身根本不允许/能够使用{cache:false}添加的具有不同参数的请求进行缓存。

听起来缓存正在你链中的其他地方发生,可能在你的网络服务器/应用程序中。 使用firebug的网络选项卡确切地检查浏览器请求的内容,以及URL的确切内容,然后从那里获取。

答案 1 :(得分:0)

事实证明我对缓存ajax请求的假设是错误的。 真正的问题是缓存后续重定向到服务器上发生的操作请求(响应原始的ajax调用)。 解决方案最终成为以下属性。

[OutputCache(Location = OutputCacheLocation.None)] 

可以在控制器级别或操作级别应用它。