标签:
最近使用EasyUI开发后台系统,测试时发现个奇葩的问题,$(‘dg‘).datagrid(‘reload‘);
重新加载表格数据时,ie下一点反应都没有。后来发现其实并不是没有反应,而是浏览器使用了缓存。
网上网友总结出来的解决方案有以下几种:
在url后加时间戳,使第一次加载和reload中访问的url不一致,使系统无法使用IE缓存。通过测试发现,EasyUI请求时后面已经自带一串随机数_145232xxx,但是ie还是会使用缓存。后来我在请求的js中为url加上rand=xxx(Math.rand()生成的随机数)
就不会使用缓存了。(我测试了从ie8到ie11)
用类似于在<head>
中加<meta>
来清除缓存:
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
很不幸,跟很多网友一样,这个方法我也失败了。:(
将datagrid的load对应的method声明为‘POST’,这个解决方法最快。但是有有几个问题:
所以说还是第一种方法,在url自己加随机数好用,原谅我代码洁癖不想改服务端接口 _(:з」∠)_。
EasyUI datagrid在ie下reload失败的问题
标签:
原文地址:http://my.oschina.net/u/1010578/blog/383747