Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
避免Jquery Get(AJAX)过程中缓存的有效方法_Ajax_Asp.net Mvc_Caching_Jquery - Fatal编程技术网

避免Jquery Get(AJAX)过程中缓存的有效方法

避免Jquery Get(AJAX)过程中缓存的有效方法,ajax,asp.net-mvc,caching,jquery,Ajax,Asp.net Mvc,Caching,Jquery,我遇到了通过Jquery的get创建的Ajax请求的随机缓存 Jquery获取是以最直接的常规方式完成的(路由+参数+回调) 我已经在用了 $.ajaxSetup({cache:false}); 但它似乎并不总是奏效。我了解了ajaxSetup no cache的工作原理,并看到添加的随机参数被添加到我的请求url中 我当前的浏览器是IE 8.0 除了ajaxSetup方式,还有谁知道其他解决方案吗?浏览器本身不允许/无法缓存具有不同参数的请求,正如{cache:false}所添加的那样 这听

我遇到了通过Jquery的get创建的Ajax请求的随机缓存

Jquery获取是以最直接的常规方式完成的(路由+参数+回调)

我已经在用了

$.ajaxSetup({cache:false});
但它似乎并不总是奏效。我了解了ajaxSetup no cache的工作原理,并看到添加的随机参数被添加到我的请求url中

我当前的浏览器是IE 8.0


除了ajaxSetup方式,还有谁知道其他解决方案吗?

浏览器本身不允许/无法缓存具有不同参数的请求,正如
{cache:false}
所添加的那样

这听起来像是缓存发生在链中的其他地方,可能发生在web服务器/应用程序中。
使用firebug的“网络”选项卡准确地检查浏览器所请求的内容,以及URL的确切内容,然后从中获取信息。

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

[OutputCache(Location = OutputCacheLocation.None)] 

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

你怎么知道它在缓存?你的浏览器不会缓存对不同URL的请求(这是随机参数的目的)。我知道,因为我有在控制器中未命中的断点。请求返回得太快:-)清除浏览器缓存也会使我命中断点。您可以使用Fiddler检查请求,并确保时间戳变量添加到每个请求中(确保cache:false正常工作?我使用的是Asp.Net MVC 3,如果这有什么不同的话。我在下面添加了我的解决方案。)