嗯,我试图为这项工作做些什么,我需要一个用DataTables库制作的表来不断更新,例如每10秒更新一次。
我正面临着非常无聊的问题,我想要做的是重新发布API,就像官方网站here:https://datatables.net/reference/api/ajax.reload()所描述的那样
我用这个:
function AutoReload1()
{
var table = $('#OperationFix').DataTable({
ajax: "data.json"
});
setInterval(function () {
table.ajax.reload();
}, 5000);
//loadOrdersFix();
//alert('Testing')
}然后,它向我返回以下错误:
DataTables警告:表id=OperationFix -不能重新初始化DataTable。有关此错误的更多信息,请参见http://datatables.net/tn/3。
发布于 2019-12-30 15:20:09
你的代码似乎没问题。
但是您提到的错误会在AutoReload1();加载之后再次被调用时发生。
要解决这个问题,您需要添加destroy: true或找出为什么多次调用AutoReload1()。
function AutoReload1()
{
var table = $('#OperationFix').DataTable({
ajax: "data.json",
destroy: true
});
setInterval(function () {
table.ajax.reload();
}, 5000);
}工作小提琴
编辑1:
根据您的小提琴,您已经定义了Datatable 2位置,因此在这两个位置上添加destroy:true
var table = $(OperationFixTableId).DataTable({
dom: 'Bfrtip',
pageLength: 1000,
columns: columns,
data: OperationFix,
destroy: true发布于 2020-01-02 14:39:27
HTML:
<div class="container">
<table id="OperationFix" class="display" width="100%">
<tfoot>
<tr>
<th style="text-align:right"></th>
<th style="text-align:right"></th>
<th style="text-align:right"></th>
<th style="text-align:right"></th>
<th style="text-align:right"></th>
<th style="text-align:right"></th>
<th style="text-align:right"></th>
<th style="text-align:right"></th>
</tr>
</tfoot>
</table>
</div>联署材料:
var OperationFixTableId = $('#OperationFix');
var refreshIntervalId = setInterval;
function AutoReload1()
{
var OperationFixTableId = $('#OperationFix').DataTable({
ajax: 'data.json',
destroy: true
});
setInterval(function () {
OperationFixTableId.ajax.reload();
}, 5000);
}
function AutoReload() {
var checkbox = document.getElementById('myonoffswitch');
if (checkbox.checked == true)
{
AutoReload1();
}
if (checkbox.checked == false)
{
clearInterval(refreshIntervalId);
}
}我目前正在尝试这样做,但是当我测试它时,我发现他试图用'data.json‘加载我的data.json,我希望他用他在银行里的东西加载它,我可以这样做,我的连接在这里:
函数GetOrdersFix(startDate,endDate,status,type,onSuccess,onError) { var uri = executionContext.settings.GetOrdersFix;
var data = {
startDate: new Date(startDate).toJSON(),
endDate: new Date(endDate).toJSON()
};
if (status) { data.status = status; }
if (type) { data.type = type; }
console.info('Loading orders fix from ' + uri);
//Call to server API
$.ajax({
type: 'GET',
url: uri,
data: data,
success: function (responseData, status, jqXHR) {
onSuccess(responseData);
},
error: function (jqXHR, status, errorThrown) {
onError(status + ',' + errorThrown + ',' + jqXHR.responseText);
}
});}
https://stackoverflow.com/questions/59531151
复制相似问题