当前位置: 首页 > 知识库问答 >
问题:

无法用新数据重新加载dataTable

韩照
2023-03-14

null

t错误显示为:

null

DataTables警告:表ID=Slave-Requested未知参数'0'用于行0,列0。有关此错误的详细信息,请参阅http://datatables.net/TN/4

null

$(document).ready( function (){
    $('#slave').dataTable()
    });

    function updateDatTable() {

    fetch('{{route('pusher')}}', {
    method : 'post',
    mode:    'cors',
    headers: {
      'Content-Type': 'application/json',  // sent request
      'Accept':       'application/json'   // expected data sent back
    },
    body: JSON.stringify({"mac":"{{$slaves['mac']}}"})
    })
    .then((res) => res.json())
    .then(function(res) {

        var temp = res['slaves'];
        var table = $('#slave').DataTable({
            "data":temp,
            "columns":[
                    { data: "name" },
                    { data: "slave_id" },
                    { data: "type" },
                    { data: "status" },
                    { data: "value"},
                    { data: "mode"},
                    { data: "name1"},
                    { data: "name2"},
                    { data: "name3"},
                    { data: "name4"},
                    { data: "s1"},
                    { data: "s2"},
                    { data: "s3"},
                    { data: "s4"},
                    { data: "voltage"},
                    { data: "hum"},
                    { data: "temp"}

            ]
        });

            table.clear().rows.add(temp).draw();
            alert('yay');
            //setInterval(updateDatTable, 1000);

    })
    .catch(function(error) {
        alert(error)
            //setInterval(updateDatTable, 1000); // <-- there was a network problem, 
                            //     but still, program the next one!
    })

    }

我通过进行API调用得到的数据如下:

{
    "slaves": [
        {"name":"IPL Conf Room Door","type":"door_sensor","value":0,"slave_id":3,"status":1,"voltage":2},

        {"slave_name":"IPL Motion Sensor","name":"IPL Motion Sensor","type":"PIR","value":1,"slave_id":4,"status":1,"voltage":2},

        {"hum":83,"temp":22,"name":"IPL Conf Room Extension","type":"ir_relay","slave_id":5,"status":1,"voltage":10},

        {"mode":4,"name":"IPL Scene Switch","type":"macro_panel","slave_id":6,"status":1,"voltage":0},

        {"mode":3,"s3":1,"name3":"","name":"IPL Conf Lights","type":"fb","name2":"","name1":"","s1":1,"slave_id":7,"s2":1,"status":1},

        {"hum":84,"temp":23,"name":"IPL Reception Extension","type":"ir_relay","slave_id":9,"status":1,"voltage":10},

        {"name":"IPL Main Door","type":"door_sensor","value":1,"slave_id":10,"status":1,"voltage":2}
    ],

    "amount":7,

    "ack":"ok",

    "action":"list_slave",

    "type":"all",

    "mac":"C8EEA62DA254"
}

请帮帮我。如果你想要更多的信息就问。

共有2个答案

鲁城
2023-03-14

您的数据表被初始化了两次,因此添加

"destroy" : true,

标记在“data”后面:temp或任何其他合适的位置,以破坏updateDataTable()javascript函数中先前初始化的数据表。

沈弘文
2023-03-14

尝试使用此表

var table = $('#slave').DataTable({
    "data": temp,
    destroy: true, // <----- notice "destroy: true"
    "columns": [
        { data: "name" },
        { data: "slave_id" },
        { data: "type" },
        { data: "status" },
        { data: "value" },
        { data: "mode" },
        { data: "name1" },
        { data: "name2" },
        { data: "name3" },
        { data: "name4" },
        { data: "s1" },
        { data: "s2" },
        { data: "s3" },
        { data: "s4" },
        { data: "voltage" },
        { data: "hum" },
        { data: "temp" }

    ]
});
 类似资料:
  • 问题内容: 我在一个选项卡中有一个数据表,该表是从索引方法上的控制器发送的数据中加载的。 我有加载数据表的视图 然后在加载页面时在javascript中加载数据表 我也有删除功能。如何在不重新加载页面的情况下重新加载数据(使用Ajax从控制器再次获取数据)? 问题答案:

  • 问题内容: 在我的视图中获取数据的代码如下所示: 我模板中的代码看起来像这样,效果很好。现在,问题是我希望该表每10秒更新一次其信息,而不刷新整个页面。视图的URL为/,模板的名称为home。 urls.py看起来像这样 你们谁能对此有所了解,我将不胜感激! 问题答案: 您可以使用,以及: 您的HTML JS 视图 get_more_tables.html 然后只需确保将新视图添加到您的视图中 (

  • 问题内容: 我在angularJS应用程序中有此工作实现,该应用程序从URL获取一些链接并绘制它们。但是,URL上的链接会不断更新,我想定期更新此$ scope.listlinks,比如说每10秒更新一次。 我试过没有运气的setInterval。 Java脚本 的HTML 问题答案: 尽管jvandemo的答案会起作用,但我认为可以稍作改进。通过使用,它打破了Angular遵循的依赖项注入约定,

  • 问题内容: 这是一个非常基本的问题-但我无法通过在线搜索找到答案。 我正在使用python控制ArcGIS,并且有一个简单的python脚本,该脚本调用了一些预先编写的代码。 但是,当我对预写代码进行更改时,它似乎没有导致任何更改。我导入了此模块,并尝试刷新它,但是没有任何反应。 我什至将它调用的文件移到了另一个位置,脚本仍然可以正常工作。昨天我做的一件事是我将所有python文件都添加到sys路

  • 我通过AJAX请求从数据库中获取表数据。我需要更改AJAX请求中的数据参数并刷新表。 我正在用命令刷新表格 我有以下代码 但是在AJAX重新加载之后,会向服务器发送原始请求,并忽略新的参数值。我试图通过函数、全局变量和浏览器存储将数据传递给请求,但这些方法都不起作用。在互联网上,我找到了解决问题的方法 功能,但我不知道如何使用它。 我的jQuery数据表版本是1.10.7。 我还尝试使用以下代码销

  • 如果我使用,我的数据有3586列。如何重新排序数据序列? 我使用了这个(基于此问题,根据列名对pandas dataframe中的列重新排序),但仍不起作用。 谢谢你们