【问题标题】:Datatables deferRender not being triggered数据表 deferRender 未被触发
【发布时间】:2014-10-14 09:28:32
【问题描述】:

我正在尝试改进此数据表的加载时间性能。到目前为止,它只加载了 700 多条记录,而且速度已经很慢了。在这种情况下,我是否正确使用了 deferRender?它似乎没有改变或改善任何东西。我认为这可能是 loadJSON 功能阻碍了它。

$(document).ready( function () {
    $('#log_table').dataTable( {
        "deferRender": true,
        "dom": '<"top"f>rt<"bottom"lp><"clear">',
        "fnCreatedRow": function( nRow, aData, iDataIndex ) {

        },
        "aoColumnDefs": [
            {
                "targets": [ 0 ],
                "visible": false,
                "searchable": false
            }
        ]
    } );
} );

function loadJSON(data){
    console.log(data);
    var t = $('#log_table').DataTable();
    t.clear();
    var json = $.parseJSON(data);
    $.each(json, function(key,value) {
        t.row.add( [
            value.uuid,
            value.date,
            value.username,
            value.loggedTable,
            value.action_performed,
            value.queryString
        ] ).draw();
    });
}

$("#audit_trail_menu").click(function(){
    $.ajax({
        url: './inc/AuditTrailScripts.php?argument=loadAllRecords',
        success: function(data) {
            loadJSON(data);

        }
    })
});

PHP

if(!empty($_GET["argument"])){
    /*
     * loadAllRecords
     * Fetch all records to load into the datatable
     * table to fetch from - media
     */
    if ($_GET['argument']=='loadAllRecords'){
        $json= fetchAll();
        echo json_encode($json);
    }
};

【问题讨论】:

    标签: javascript php jquery ajax datatables


    【解决方案1】:

    也许你写了一个服务器脚本,它只返回一段数据的json。它可能会在用户交互后呈现下一个数据包,例如。单击 Datatable 上的下一步,委派适当的事件。

    为此,您可以向 PHP 脚本发送一个参数,例如捆绑包的数量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-06
      • 1970-01-01
      • 1970-01-01
      • 2018-08-06
      • 1970-01-01
      • 2015-07-28
      • 1970-01-01
      相关资源
      最近更新 更多