Ajax调用成功后,无法用PHP返回值重新加载bootstrap-table求助
解决Bootstrap Table在Ajax成功后无法重新加载的问题
我懂你遇到的困扰了——Ajax操作完成后,你的bootstrap-table没法自动加载PHP返回的新数据对吧?别慌,咱们用Bootstrap Table自带的API就能轻松解决,下面给你具体的实现方案:
方法1:重新请求数据源(最常用)
因为你的表格是通过data-url="gelir-getdata.php"初始化的,直接调用refresh方法就能让表格重新请求这个接口,获取最新数据并自动渲染:
// 假设这是你的Ajax操作代码(比如提交表单、删除数据) $.ajax({ url: "你的操作接口.php", // 比如新增/修改/删除数据的PHP接口 method: "POST", data: { /* 这里是你要提交的数据 */ }, success: function(response) { // 操作成功后,刷新表格 $("#gelirtableid").bootstrapTable("refresh"); }, error: function(xhr, status, err) { console.log("操作出错了:", err); } });
这个方法的好处是不用管后端返回的数据结构,只要gelir-getdata.php能正确返回符合表格字段的JSON数据就行,而且会保留你设置的分页、搜索等参数。
方法2:直接加载返回的新数据
如果你的Ajax操作接口直接返回了最新的表格数据(而不是让你再去请求gelir-getdata.php),可以用load方法直接把数据填充到表格:
$.ajax({ url: "你的操作接口.php", method: "POST", data: { /* 提交的数据 */ }, success: function(newTableData) { // 假设PHP返回的是符合表格字段的JSON数组 $("#gelirtableid").bootstrapTable("load", newTableData); } });
注意事项
- 确保你的PHP接口返回的是标准的JSON格式,可以用
json_encode()函数生成,并且要设置正确的响应头:header('Content-Type: application/json'); - 如果刷新后没效果,打开浏览器控制台(F12)看看有没有报错,比如JSON解析失败、接口请求404之类的问题
- 如果你给表格设置了排序、筛选参数,
refresh方法会自动带上这些参数请求后端,不用额外处理
内容的提问来源于stack exchange,提问作者Kerem
相关产品推荐
相关产品推荐

