如何设置bootstraptable插件在ajax请求成功后的回调函数?

发布于 2022-09-05 06:34:57 字数 1688 浏览 15 评论 0

最近项目中遇到一个问题:Windows客户端在嵌入服务端的网页时需要在页面中的bootstraptable生成的表格数据列中添加一个按钮(仅在Windows客户端添加按钮,通过浏览器访问时不添加),如图:

clipboard.png
所以想到一个解决方法:
Windows客户端代码中设置下userAgent,服务端的js代码根据userAgent来决定是否添加按钮。
现在页面中的bootstraptable是这么使用的:
jsp相关代码

<%@include file="list.js" %>
//......
<table id="listTable"   data-toolbar="#toolbar"></table>
// ......

list.js相关代码:

<%@ page contentType="text/html;charset=UTF-8" %>
<script>
$(document).ready(function() {
    $('#listTable').bootstrapTable({
         
          //请求方法
               ajaxOptions: {
                   async: false // 如果设置为异步,需要等请求成功后才会生成下面的tr和td,就无法在td中添加按钮
               },
               method: 'get',
               dataType: "json",
               showRefresh: true,
               showToggle: true,
        // ......

注意现在代码中的ajaxOptions被设置为了同步请求,这是因为tbody中的内容都是用js生成的,只有数据请求成功后tbody中的tr和td才会生成出来,如果设置为异步的话,后面生成按钮的js就无法获取由bootstraptable生成的tr和td,按钮也就无法添加了
问题来了:
1,chrome中提示ajax同步请求的方式好像已经被w3c弃用了,那么bootstraptable中是否有设置请求成功后回调函数的方法或者参数,这样我就可以在请求成功后添加按钮?我看了下bootstraptable的文档,发现没有,ajax请求的方法已经被它封装在里面了。
2,bootstraptable的文档中提供了一个ajax参数,让使用者自定义ajax方法,不过要实现jquery的api接口,我按照官网的示例写了下没有成功。或许是我的tbody是由js生成的原因吧。
想问下有没有人遇到过类似的情况,该如何解决。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

述情 2022-09-12 06:34:57

clipboard.png
通过查看bootstrap-table.js源码发现onLoadSuccess事件,通过配置onLoadSuccess属性可以启用数据加载完的回调函数,如下图:
clipboard.png

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文