对表进行多次AJAX调用不止一次初始化?
这个问题很棘手所以我会发布上下文:
- 我在页面上有一个通过AJAX加载的片段。
- 该页面包含一个表,该表将由具有服务器端处理的 Datatables供电和填充。
- 每次我加载包含新表的片段时,我都会告诉Datatables使用
bDestroy : true
从头开始引导表。
问题
当我通过AJAX加载新表时,AJAX调用获取数据,因为JSON不断堆积。
题
如何防止这些呼叫堆叠并将其减少为一个? 谢谢。
代码示例(根据要求)
/* datatables initializer */ $("#table").dataTable({ bDestroy : true , bServerSide : true , sAjaxSource : "path/to/json.json" , ... }); /* script inside the AJAX loaded content. It outputs a . */ $(function() { $("body").trigger({ type : "tableready", options : { ... } }); });
这个问题的答案来自DataTables的责任。 上面的代码示例缺少问题的原因。
我已经构建了一个类,它将事件绑定到一个赋予表权限的函数。 每次我调用检索表的AJAX调用时,函数都会在顶部堆叠另一个绑定,因此多次调用数据。
解决方案是要么检查你是否已绑定该事件,要么unbind()
事件并重新bind()
它。
- 将参数传递给jQuery数据表中的sAjaxSource
- 如何动态更改jQuery Datatables高度
- jQuery数据表将类添加到tr
- DataTables TypeError:… draw不是函数
- 如何通过单击DataTable的同一行上的“编辑”按钮获取Id值
- 从JQuery Datatable中删除特定行
- 使用延迟加载数据为表中的内部按钮设置类
- jQuery插件(DataTables)仅在页面刷新时正确加载
- jQuery DataTables – 仅对数字进行排序
Interesting Posts