解决easyui-datagrid在ie中无法reload问题

easyui在页面加载时,会自动填充datagrid中的数据,当添加、修改、删除后,会触发reload事件,对datagrid进行重新加载。

这个过程在FireFox中没有问题,用firebug观察发现前后两次http状态码都是200,证明两次都是从服务器重新取的新数据,没有用浏览器中的缓存。

可到了IE中,发现第一次加载时的http状态码是200,reload时的http状态码是304,证明reload时的数据是从缓存中读取的,造成的结果是添加后datagrid表格不更新。

方案一:,在url后加时间戳,使第一次加载和reload中访问的url不一致,使系统无法使用IE缓存,可通过观察状态码发现,时间戳是加上了,但两次访问的url还是相同,无法消除缓存。

方案二:用类似于在<head>中加

<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">

这样的表头的方式清除缓存,结果还是失败了。

最后大哥周响出马,提出方案三:把提交方法method由get改为了post,问题解决。

<table id="tt" " title="权限管理" class="easyui-datagrid" style="width: auto; height: 400px;" idfield="itemid" pagination="true" iconcls="icon-save" remoteSort="false" data-options="rownumbers:true,
        url:'JSONData.ashx',pageSize:5,pageList:[5,10,15,20],
        method:'post',toolbar:'#tb' ," fitcolumns= "true" striped="true" singleselect="true">
        <thead>
            <tr>
               <th  data-options="field:'JID',width:20",sortable:"true"> 序号</th>
               <th  data-options="field:'jurisdictionName',width:20",sortable:"true">权限</th>
            </tr>
        </thead>
 </table>

至于为什么post机制能消除缓存,还有待研究。

由于浏览器兼容问题,总是存在这样那样的问题,只要我们抱着一个必胜的信心就一定能解决问题。

上周还在纠结,这功能我能实现吗?现在页面摆在我面前,点个按钮响应一个事件,看着自己的劳动成果,我想说“我骄傲”。

解决easyui-datagrid在ie中无法reload问题,布布扣,bubuko.com

时间: 2024-10-31 07:51:00

解决easyui-datagrid在ie中无法reload问题的相关文章

解决easyui datagrid load时缓存问题

修改easyui datagrid内容保存后,使用$("#dg").datagrid("reload");或者$("#dg").datagrid("load");时,IE总是读取缓存内容,,下面提供三种方案: 1.URL加时间戳,很麻烦,每次请求都要加 2.datagrid method改为POST方式 3.设置ajax不缓存,$.ajaxSetup({ cache: false });//不设置缓存 个人觉得第三种完美解决.

jQuery EasyUI DataGrid在MVC中的运用-基本属性并实现分页

※ datagrid的基本属性和方法  ※ datagrid分页在前后台的实现 最终效果:    与视图显示对应的view model   public class Book public string ItemId { get; set; } public string ProductId { get; set; } public decimal ListPrice { get; set; } public decimal UnitCost { get; set; } public strin

在使用easyui,datagrid时,JSON中的如果含有换行符,则不能显示数据

http://www.xuebuyuan.com/2103538.html 每项值需处理换行符 item = item.Replace("\r\n", ""); //或\\r\\n替换换行符 http://www.cnblogs.com/lhws/archive/2013/08/16/3262301.html 在easyui中的datagrid中使用行内编辑时textarea的换行保存到mysql数据库为\n在textarea中输入回车符 在js读取textarea

easyui datagrid(list中带list) 表头与表中内容不整齐

分组时,生成json字符串,以"["区分组成员时,冒出的错误! 下面代码是为生成json字符串前准备的 JSONObject jo1 = new JSONObject(); jo.put("resultRegistContent.RContent["+i+"]", resultRegistContent1.getRContent());//分组组成员的区分 jo.put("resultRegistContent.registId[&qu

解决easyui datagrid单选时复选框不取消问题

1 var flag = true: //定义一个开关变量控制 2 $("#table").datagrid({ 3 pagination: true,//允许分页 4 rownumbers: true,//行号 5 singleSelect: false,//只选择一行 6 pageSize: 20,//每一页数据数量 7 width:"100%", 8 checkOnSelect: false, //此属性必须设置为 false10 pageList: [10,

EasyUI datagrid在ie下reload失败的问题

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

Easyui Datagrid rownumbers行号四位、五位显示不完全的解决办法

Easyui Datagrid rownumbers行号四位.五位显示不完全的解决办法(引) 方法一: 相信很多人在使用easyui的时候都遇到过这个问题,当我们设置成显示Rownumber的时候,你会发现,如果Rownumber越来越大,达到三位数或者四位数的时候,Rownumber就显示不全了.这个问题纠结了不知道多少人,在群里和论坛里面都的都被问到无数次了. 以前也一直没有太认真考虑过要解决这个问题,恰好最近有点时间,就研究了一下,其实要解决也很简单,扩展一个方法就行了. 首先,从data

JQuery easyUi datagrid 中 editor 动态设置最大值最小值

前言 近来项目中使用到 easyui 来进行页面设计,感觉挺方便的,但是网上除了api外,其他有价值的资料比较少,故在此分享一点经验,供大家参考. 问题 JQuery easyUi datagrid 可编辑行的editor属性具有 min 和 max 属性,设置可以输入的最大值和最小值,但是这个是固定的,如下: [html] view plain copy {field:'workRate',title:'<%/*填报*/%><bean:message key="task.wo

【解决方法】EasyUI DataGrid无数据时不显示滚动条问题

在dataGrid的定义中添加如下代码: JavaScript Code 1 2 3 4 5 6 7 8 9 10 11 onLoadSuccess : function (data) { if (data.total == 0) { $('#dg').datagrid('insertRow', { row : {} }); $("tr[datagrid-row-index='0']").css({ "visibility" : "hidden"