您好,欢迎访问一九零五行业门户网

解决easyUI 1.2.6 + datagrid在 IE浏览器下无法重新加载、查询

i) easyui 1.2.6 datagrid在 ie浏览器目前存在的问题 1:无法重新加载、查询 var row = $('#dg_user_table').datagrid('getselected'); $('#dg_userpri_table').datagrid( { method : 'post', height : 280, url : remotepathq 'user/role/' row.id, 。。。
i) easyui 1.2.6 + datagrid在 ie浏览器目前存在的问题
1:无法重新加载、查询
var row = $('#dg_user_table').datagrid('getselected');
$('#dg_userpri_table').datagrid(
                    {
                        method : 'post',
                        height : 280,
                        url : remotepathq + 'user/role/' + row.id,
。。。。。。
});
bug:在没有清空ie缓存或者关闭ie重新打开,会出现查询数据为上次的缓存、历史数据,非即时数据:(其它firefox,谷歌浏览器正常)
原因:datagrid发送的'post'请求地址一样,导致ie浏览器不会重新查询数据,而是从上次的缓存里直接获取历史数据;
2 :reload方法使用无效:
即$('#dg_user_table').datagrid('reload');不触发datagrid url请求,数据没有更新;
原因:datagrid发送的'post'请求地址一样,导致ie浏览器不会重新查询数据,而是从上次的缓存里直接获取历史数据;(同上)
ii)解决办法:
对http  restful服务地址加上唯一值随机数,区别每次加载的restful服务地址;
即:
var randomnu = (new date().gettime()) ^ math.random();
url : remotepathq + 'user/role/' + row.id+?_=+randomnu,
修正后为:
var row = $('#dg_user_table').datagrid('getselected');
var randomnu = (new date().gettime()) ^ math.random();
$('#dg_userpri_table').datagrid(
                    {
                        method : 'post',
                        height : 280,
                        url : remotepathq + 'user/role/' + row.id+?_=+randomnu,
。。。。。。
});
便可解决1  2 问题,使reload方法也可用;
其它类似信息

推荐信息