EasyUI中datagrid在ie下reload失败解决方案


Posted in Javascript onMarch 09, 2015

问题

最近使用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自己加随机数好用,原谅我代码洁癖不想改服务端接口 _(:з」∠)_。

Javascript 相关文章推荐
弹出广告特效(一个IP只弹出一次)的代码
Jul 27 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
Jan 24 Javascript
js中widow.open()方法使用详解
Jul 30 Javascript
JAVASCRIPT模式窗口中下载文件无法接收iframe的流
Oct 11 Javascript
JavaScript实现离开页面前提示功能【附jQuery实现方法】
Sep 26 jQuery
浅谈JsonObject中的key-value数据解析排序问题
Dec 06 Javascript
Vue cli+mui 区域滚动的实例代码
Jan 25 Javascript
微信小程序textarea层级过高的解决方法
Mar 04 Javascript
Vue项目环境搭建详细总结
Sep 26 Javascript
Vue数据双向绑定底层实现原理
Nov 22 Javascript
React中Ref 的使用方法详解
Apr 28 Javascript
使用vuex-persistedstate本地存储vuex
Apr 29 Vue.js
JS控制网页动态生成任意行列数表格的方法
Mar 09 #Javascript
jQuery随机密码生成的方法
Mar 09 #Javascript
jQuery实现简单的间隔向上滚动效果
Mar 09 #Javascript
jQuery实现鼠标划过展示大图的方法
Mar 09 #Javascript
javascript 对象数组根据对象object key的值排序
Mar 09 #Javascript
jquery插件corner实现圆角边框的方法
Mar 09 #Javascript
jQuery中animate用法实例分析
Mar 09 #Javascript
You might like
php日期转时间戳,指定日期转换成时间戳
2012/07/17 PHP
PHP超级全局变量数组小结
2012/10/04 PHP
php+mysqli事务控制实现银行转账实例
2015/01/29 PHP
python进程与线程小结实例分析
2018/11/11 PHP
基于PHP实现微信小程序客服消息功能
2019/08/12 PHP
js实现在文本框光标处添加字符的方法介绍
2012/11/24 Javascript
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
jquery实现可自动收缩的TAB网页选项卡代码
2015/09/06 Javascript
微信企业号开发之微信考勤百度地图定位
2015/09/11 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
AngularJS入门教程之服务(Service)
2016/07/27 Javascript
详解vue-cli中模拟数据的两种方法
2018/07/03 Javascript
echarts整合多个类似option的方法实例
2018/07/10 Javascript
微信小程序实现富文本图片宽度自适应的方法
2019/01/20 Javascript
了解javascript中let和var及const关键字的区别
2019/05/24 Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
2020/09/12 Javascript
Vue中强制组件重新渲染的正确方法
2021/01/03 Vue.js
原生JavaScript实现进度条
2021/02/19 Javascript
python笔记(2)
2012/10/24 Python
Python中使用Boolean操作符做真值测试实例
2015/01/30 Python
Python中条件判断语句的简单使用方法
2015/08/21 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
2018/06/05 Python
Python SMTP发送邮件遇到的一些问题及解决办法
2018/10/24 Python
python+opencv实现车牌定位功能(实例代码)
2019/12/24 Python
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
Roxy俄罗斯官方网站:冲浪和滑雪板的一切
2020/06/20 全球购物
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
Java编程面试题
2016/04/04 面试题
JAVA招聘远程笔试题
2015/07/23 面试题
大学自我鉴定范文
2013/12/26 职场文书
数控技校生自我鉴定
2014/03/02 职场文书
初三学习决心书
2014/03/11 职场文书
大学活动总结格式
2014/04/29 职场文书
三好学生先进事迹材料
2014/08/28 职场文书
shell进度条追踪指令执行时间的场景分析
2022/06/16 Servers
win10如何开启ahci模式?win10开启ahci模式详细操作教程
2022/07/23 数码科技