Datatables.net ajax 重新加载加载消息
Posted
技术标签:
【中文标题】Datatables.net ajax 重新加载加载消息【英文标题】:Datatables.net ajax reload loading message 【发布时间】:2016-04-28 07:25:08 【问题描述】:在通过 ajax 初始加载我的数据表时,该表不显示任何数据,并且“正在加载...”出现在表体中。
在 DataTable().ajax.reload() 上,“正在加载...”文本不存在。
我知道我可以打开处理选项来让横条穿过表格,但如果我这样做,那么在初始加载时,我的用户会在表格正文中看到“正在加载...”和“正在处理...”最重要的是。
有没有人找到一种解决方案来一直拥有一个或另一个?对于每次 ajax 重新加载,我更愿意将表体替换为“正在加载...”。
谢谢!
【问题讨论】:
【参考方案1】:使用 Datatables 1.10 我遇到了同样的问题。 我找到了一种让它工作的方法。 如果您使用在 ajax 调用之前触发的 preXhr 事件,您可以
-
清空表格
将绘制计数设置回 0,这会触发
再次发送初始消息
重新绘制表格并显示加载。
mydataTable.on('preXhr.dt', function(e, settings, data)
$(this).dataTable().api().clear();
settings.iDraw = 0; //set to 0, which means "initial draw" which with a clear table will show "loading..." again.
$(this).dataTable().api().draw();
);
【讨论】:
实际上对我来说,设置settings.iDraw = 0;
并没有在后续数据重新加载时显示加载消息。加载数据时仍然显示“表中没有可用数据”。我必须将 iDraw 属性设置为 -1 才能在 ajax 重新加载时出现“正在加载...”消息。
当您不想使用处理功能并且需要通过 ajax 重新加载时的绝佳解决方案。【参考方案2】:
有“语言”选项,您可以在其中指定在各种事件中显示的内容。 DataTables 有很好的文档显示它。 https://datatables.net/reference/option/language.processing
【讨论】:
我知道,我在我的问题中提到了这一点。我正在尝试找到一个在初始加载时没有处理栏和加载表正文文本的解决方案。以上是关于Datatables.net ajax 重新加载加载消息的主要内容,如果未能解决你的问题,请参考以下文章
ajax datatable - DataTables警告:table id = example - 无法重新初始化DataTable
jquery datatables Ajax-Error / http://datatables.net/tn/7