刚玩这个东西的时候,发现IE会进Cache,不管怎么删除,修改,后台删除了,前台还是一样,找了一下,HTML5只提供了
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate">,ok,这个是有效果的,如果你的浏览器支持HTML标签的话,
如果你用Jquery来做Ajax,我知道有两种办法去掉Cache:
1. 在load的时候调用这个:jQuery.ajaxSetup ({cache:false}) 。
2.$.ajax({cache:false}),这里省略了无数多的参数,设置一下这个,该请求就不会存入Cache.
还有一种客户端曲线救国的方法:
var url = 'http://url/';
url += '?temp=' + new Date().getTime();
url += '?temp=' + Math.random();
说句心理话,我是真心受不了这个,在我的概念里,既然你能想到的,那些开发此类框架的人肯定能想到,如果他们没有想到,就应该发个EMAIL“骂“他们,何况清理Cache如此常见的问题。
所以既然我用ASP.NET MVC这个东西,我相信微软的这个团队一定会把这个问题解决掉,而不是那么麻烦。
//界面代码
@Ajax.ActionLink("Users", "GetUsers","Home",new AjaxOptions() { UpdateTargetId = "partialViewShow", HttpMethod = "GET", InsertionMode = InsertionMode.Replace })
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")] public PartialViewResult GetUsers() { //dosomething....... return PartialView("UsersView"); }
主要看这个标签,这个标签可以帮你清除Cache,还能做自定义的Cache清理,Timeout什么的:OutputCache各个参数的说明