如何设置bootstraptable插件在ajax请求成功后的回调函数?
最近项目中遇到一个问题:Windows客户端在嵌入服务端的网页时需要在页面中的bootstraptable生成的表格数据列中添加一个按钮(仅在Windows客户端添加按钮,通过浏览器访问时不添加),如图:
所以想到一个解决方法:
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通过查看bootstrap-table.js源码发现onLoadSuccess事件,通过配置onLoadSuccess属性可以启用数据加载完的回调函数,如下图: