至于为什么要进easyui这个坑,就不多说了。
我现在使用的是1.5这个版本,在用它做一个后台管理系统,项目做到一半,才想起记录这些坑。
1、对于datagrid在reload、load在IE下未刷新
IE的请求第一次成功是200,第二次如果url没有更改的话,由于缓存机制,请求会变成304。
因为easyui的不像jqgrid会发起请求时自带参数,也因为IE的缓存好心办坏事,不能说这个缓存机制好与不好。既然这样,那我们就要想办法解决。
网上有一种方法说把get请求改成post请求,这样是不好的,http协议既然分了get、post自然是有区别的。不能什么时候都用post来解决这个问题。
最有效的解决方案:加随机参数Math.random();
打开easyui的js源码,找到$.fn.datagrid.defaults的ajax进行改写。如图所示为源码。
将$.ajax里的url改为opts.url+"?"+Math.random(),经测试,此种方法并不会影响datagrid在url上面接参数(是否有隐患还不清楚,尽量还是不要在url上?直接加参数。),不影响datagrid的一个queryParams传参。queryParams的参数会在随机参数后&方式接上。如图所视: