Datatables 使用自定义数据修改datatable

Datatables 使用自定义数据修改datatable,datatables,Datatables,我在flask服务器端使用datatables,目前我正在尝试向表中添加一种机制,这样当我在表中选择一行时,我会向服务器发送一个请求,服务器会返回一个数据集,该数据集取决于已选择的行 $('#Server1 tbody').on( 'click', 'tr', function () { if ( $(this).hasClass('selected') ) { $(this).removeClass('selected'); $.ajax( {

我在flask服务器端使用datatables,目前我正在尝试向表中添加一种机制,这样当我在表中选择一行时,我会向服务器发送一个请求,服务器会返回一个数据集,该数据集取决于已选择的行

$('#Server1 tbody').on( 'click', 'tr', function () {
    if ( $(this).hasClass('selected') ) {
        $(this).removeClass('selected');
        $.ajax( {
            url: '/server_data',
            type: 'GET',
            method: 'GET',
            data: {
                "sEcho": 1,
                "iColumns" : 5,
                "iDisplayStart" : 0,
                "iDisplayLength" : 10,
                "sSearch" : $('#Server1_filter input').val()
            },
            success: function(data) {
                var dataObj = JSON.parse(data)
                for (i = 0; i < dataObj.aaData.length; ++i) {
                    $("#Server1").DataTable().row.add(dataObj.aaData[i]);
                }
                $("#Server1").DataTable().draw();
            }        
        });
    }
    else {
        table.$('tr.selected').removeClass('selected');
        $(this).addClass('selected');
        var selectedLine = table.$('tr.selected').children()
        $.ajax( {
            url: '/select_data',
            type: 'GET',
            method: 'GET',
            data: {
                "selectedDate" : $(selectedLine[0]).text(),
                "selectedTime" : $(selectedLine[1]).text(),
                "selectedType" : $(selectedLine[2]).text(),
                "selectedInstance" : $(selectedLine[3]).text(),
                "selectedLine" : $(selectedLine[4]).text(),
                "sEcho": 1,
                "iColumns" : 5,
            },
            success: function(data) {
                //$("#Server1").DataTable().clear();
                var dataObj = JSON.parse(data)
                //dataObj.selectedRow
                for (i = 0; i < dataObj.aaData.length; ++i) {
                    $("#Server1").DataTable().row.add(dataObj.aaData[i]);
                }
                $("#Server1").dataTable().draw();
            }        
        });           
    }
问题是,出于某种原因,我的数据表在调用select_data时不会重新绘制,但在调用server_data时会正确绘制,而且我无法理解问题出在哪里——当我查看从服务器获取的数据时,它正是我希望获得的数据,但数据表不会使用新数据重新绘制


您能帮助我了解问题所在吗?

当您使用select_data时,您的响应数据是什么?“aaData”数组与相关数据、当前批次数据中的行数过滤数据、,原始数据中的记录总数-与“服务器数据”相同当您使用select_data时,您的响应数据是什么?“aaData”数组与相关数据、当前数据批过滤数据中的行数、原始数据中的记录总数-与“服务器数据”相同