You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bootstrap-Table在IE11中表格更新后data-url不刷新(无服务端调用)

解决Bootstrap-Table在IE11中AJAX请求缓存的问题

我之前也踩过IE11这个缓存的坑,Bootstrap-Table的data-url请求被浏览器死死缓存,页面刷新后还是显示旧数据,确实头疼。给你几个亲测有效的解决思路:

1. 在请求中添加随机参数

让每次请求的URL都带上一个唯一的参数(比如时间戳),这样IE会认为是全新的请求,不会读取缓存。可以通过Bootstrap-Table的queryParams配置实现:

$('#delegateTable').bootstrapTable({
  url: '你的数据接口地址',
  queryParams: function(params) {
    // 添加时间戳参数,确保每次请求URL不同
    params._t = Date.now();
    return params;
  },
  // 你的其他表格配置...
});

2. 直接禁用AJAX缓存

Bootstrap-Table底层依赖jQuery的AJAX,所以可以通过ajaxOptions配置直接禁用缓存:

$('#delegateTable').bootstrapTable({
  url: '你的数据接口地址',
  ajaxOptions: {
    cache: false
  },
  // 你的其他表格配置...
});

当cache设为false时,jQuery会自动给GET请求添加一个_参数(值为时间戳),和第一种方法原理类似,但配置更简洁。

3. 后端设置响应头禁止缓存

从根源上让浏览器不缓存这个接口的响应,在后端返回数据时添加以下HTTP响应头:

Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0

这个方法对所有浏览器都有效,尤其是IE这种对缓存格外“执着”的浏览器,推荐和前端配置配合使用,双重保险。

另外,如果是用refresh方法手动刷新表格,确保上面的配置已经生效,调用方式如下:

$('#delegateTable').bootstrapTable('refresh');

内容的提问来源于stack exchange,提问作者gene b.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:31:10