EasyUI datagrid在ie下reload失败的问题

EasyUI datagrid在ie下reload失败的问题


问题

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

参考

  1. http://blog.csdn.net/quwenzhe/article/details/30228663
时间: 2024-08-09 23:23:59

EasyUI datagrid在ie下reload失败的问题的相关文章

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

问题 最近使用EasyUI开发后台系统,测试时发现个奇葩的问题,$('dg').datagrid('reload'); 重新加载表格数据时,ie下一点反应都没有.后来发现其实并不是没有反应,而是浏览器使用了缓存. 解决方案 网上网友总结出来的解决方案有以下几种: 1.在url后加时间戳,使第一次加载和reload中访问的url不一致,使系统无法使用IE缓存.通过测试发现,EasyUI请求时后面已经自 带一串随机数_145232xxx,但是ie还是会使用缓存.后来我在请求的js中为url加上ran

.net MVC模式下easyui datagrid控件分页

此参照一位仁兄代码,稍作修改 视图代码: <div id="tab" class="easyui-tabs" data-options="tools:'#tab-tools'" style="width:800px;height:400px"> <div title="****" style="padding:0px;"> <div class="

JQuery EasyUI 学习——Struts2与EasyUI DataGrid数据表格结合使用显示数据库数据

因为EasyUI DataGrid只要取出后台传过来的一定格式的JSON数据,就可以在前台页面数据表格中,以一定形式显示数据库中的数据.此处,我们使用Struts2框架整合DataGrid,实现数据的显示. 一.页面内容 为了在页面中显示数据库中字段内容,需要定义一个table,通过EasyUI内部设计,自动显示数据,如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF

(转)easyui datagrid 部分参数说明

easyui datagrid 部分参数 数据表格属性(DataGrid Properties) 属性继承控制面板,以下是数据表格独有的属性. 名称 类型 描述 默认值 columns array 数据表格列配置对象,查看列属性以获取更多细节. undefined frozenColumns array 跟列属性一样,但是这些列固定在左边,不会滚动. undefined fitColumns boolean 设置为true将自动使列适应表格宽度以防止出现水平滚动. false autoRowHe

jQuery EasyUI Datagrid性能优化专题

jQuery EasyUI的Datagrid组件功能算是很强大了,不过性能确实不怎么乐观,而对于性能问题,网络上几乎也找不到相关的优化资料,所谓的牛人们可能 都望而却步了.本博客以后会带着分析Datagrid组件的性能问题,并且给出优化方案,也希望大家能集思广益,给出一些好的想法. 慢在哪些方面 以目前对Datagrid的了解程度去看待性能问题,主要有以下几点: 加载大数据量时比较慢(不考虑服务端返回数据的时间),这点尤其体现在IE浏览器里面: 大数据量时,加载后,操作很不流畅,勾选慢,sing

谈谈easyui datagrid 的数据加载(转)

这篇文章只谈jQuery easyui datagrid 的数据加载,因为这也是大家谈论最多的内容.其实easyui datagrid加载数据只有两种方式:一种是ajax加载目标url返回的json数据:另一种是加载js对象,也就是使用loadDate方法. 这里就自己的使用经验,对两种方式做简单总结和归纳,并且对使用过程中容易产生的误区做较为详细的描述,希望能对大家有所帮助. url方式加载数据 调用方式 目前可能大多数人都是选择这种方式,因为跟流行的框架结合的也比较好,使用url的话,可以将

CRM管理系统(二)上----easyui+Datagrid

今天终于把数据字典模块做出来了,前前后后大概做了两天时间,修改和整理又用了两天时间,在这个模块中主要用的是easyui的DataGrid插件,同时通过自己在网上看文档,查问题,整理了一下DataGrid的运用,自己编码的过程中反复斟酌,一共修改了两次,三套不同的版本,今天全部给贴出来 大体的界面如下: 这里先附上easyui DataGrid插件的官方文档地址: http://www.jeasyui.net/plugins/183.html 建议如果学习的话,还是先看下官方文档,博主自己也在官方

[JS][easyui]jQuery EasyUI Datagrid VirtualScrollView视图简单分析

 大家都知道EasyUI的Datagrid组件在加载大数据量时的优势并不是很明显,相对于其他一些框架,如果数据量达到几千,便会比较慢,特别是在IE下面.针对这种情况,我们首要做的是要相办法优化datagrid组件的各方面性能,不过任何事情都是可以变通解决的,virtualScrollView就是一种不错的解决方案. virtualScrollView的准则就是尽量少画tr到table里,表格的高度是有限的,而用户的可见区域是很有限的,所以数据量很大的时候,是没有必要将所有数据数据都画到表格中

把旧系统迁移到.Net Core 2.0 日记(8) - EASYUI datagrid

迁移也没太大变化,有一个, 之前的Request.QueryString 是返回NameValueCollection, 现在则是返回整个字符串. 你要改成Request.Query[“key”] 直接上代码吧. 1 @using FoxCRMCore 2 @{ 3 var controller = "CRM/Announcement"; 4 ViewBag.Title = "公告信息"; 5 } 6 7 8 <script type="text/j