问题
最近使用EasyUI开发后台系统,测试时发现个奇葩的问题,$(’dg’).datagrid(’reload’); 重新加载表格数据时,ie下一点反应都没有 。后来发现其实并不是没有反应,而是浏览器使用了缓存 。
解决方案
网上网友总结出来的解决方案有以下几种:
1.在url后加时间戳,使第一次加载和reload中访问的url不一致,使系统无法使用IE缓存 。通过测试发现,EasyUI请求时后面已经自带一串随机数_145232xxx,但是ie还是会使用缓存 。后来我在请求的js中为url加上rand=xxx(Math.rand()生成的随机数)就不会使用缓存了 。(我测试了从ie8到ie11)
2.用类似于在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"
很不幸,跟很多网友一样,这个方法我也失败了 。:(
3.将datagrid的load对应的method声明为‘POST’,这个解决方法最快 。但是有有几个问题:
要是该服务端接口不支持POST方式就歇菜了 。
要是服务端接口自己能控制,这种为了前端妥协的方式,会导致接口一点也不RESTful!要知道RESTful接口对于查询的设计基本上都是GET方式的 。
总结
【EasyUI中datagrid在ie下reload失败解决方案】所以说还是第一种方法,在url自己加随机数好用,原谅我代码洁癖不想改服务端接口 _(:з」∠)_ 。
您可能感兴趣的文章:jQuery EasyUI API 中文文档 - DataGrid数据表格Jquery下EasyUI组件中的DataGrid结果集清空方法扩展easyui.datagrid,添加数据loading遮罩效果代码jQuery easyui datagrid动态查询数据实例讲解jQuery EasyUI datagrid实现本地分页的方法JQueryEasyUI datagrid框架的基本使用ASP.NET MVC使用EasyUI的datagrid多选提交保存教程jQuery EasyUI之DataGrid使用实例详解PHP – EasyUI DataGrid 资料存的方式介绍Jquery EasyUI Datagrid右键菜单实现方法
推荐阅读
- css中filter:alpha透明度使用小结兼容IE、火狐
- 初中生可以考cpa吗
- 拖把有异味怎么去除
- Win8.1中IE11停止工作崩溃的两种解决方法
- 西工大附中在哪
- Win8.1中IE11无法打开的解决方法无需还原系统
- 中信银行开卡必须去柜台吗
- 应用中心怎么下载
- 使用视频编辑王在视频中添加文字的操作方法
- 西江月夜行黄沙道中的大意