datagrid(“reload”)没有刷新向后台发送请求但是表格数据没有刷新
1、reload 需要检查表格在初始化datagrid的时候,有没有对url赋值,reload触发时向后台访问的是这个url。
2、reload 向后台发送请求时,当前页码和分页大小都是使用当前页面上的查询参数,这点需要注意。
3、$(‘#id’).datagrid(‘reload’); 必须保证当前页面上可以获取到id对应的元素,可以在浏览器调试工具的console控制台直接测试
以上3点属于是常规的排查,排查后无法解决问题,可以参照第3点,在浏览器调试工具手动执行
$('#id').datagrid('reload');
若表格正确重载并正确向后台发送请求,则需要考虑系统本身的业务流程。
我这边的问题是:我的业务流程的确触发了delete操作,但是delete事务还没有完成时就已经返回删除成功给到页面了(删除事务由另外的后台模块执行),这里有一个时间差, 浏览器在调用reload重新加载datagrid时,后台的数据还没有被删除,但reload请求已经完成了,同时由于分页10条数据,页面快速刷新,肉眼看上去就像没有刷新一样。
等过一两秒刷新 再次请求就没问题了。
这里需要考虑将这个时间差解决,等删除事务完成后再调用reload方法即可, 方法很多,这里不赘诉。