EasyUI中datagrid在ie下reload失败解决方案
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了EasyUI中datagrid在ie下reload失败解决方案,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1111字,纯文字阅读大概需要2分钟。
内容图文
![EasyUI中datagrid在ie下reload失败解决方案](/upload/InfoBanner/zyjiaocheng/360/b9b1161488d74beb88e8383036904066.jpg)
问题
最近使用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方式的。
总结
所以说还是第一种方法,在url自己加随机数好用,原谅我代码洁癖不想改服务端接口 _(:з」∠)_。
内容总结
以上是互联网集市为您收集整理的EasyUI中datagrid在ie下reload失败解决方案全部内容,希望文章能够帮你解决EasyUI中datagrid在ie下reload失败解决方案所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。