Javascript Datatable-回调后更改为单击的页面

Javascript Datatable-回调后更改为单击的页面,javascript,jquery,datatables,Javascript,Jquery,Datatables,我有一个需要分页的jquery数据表。我使用了page dt事件来启动一个函数,在单击页码时从服务器端加载数据。然后我使用了$('#table').dataTable().fnAddData(recordsArray)将新检索到的数据追加到表中。这是成功的。我的问题是,即使数据被追加到表中,它仍然会保留在第一页,尽管发生了click事件。我尝试了table.rows.add(recordsArray.draw()和fnDrawCallback事件,但仍然没有成功 $(docume

我有一个需要分页的jquery数据表。我使用了
page dt
事件来启动一个函数,在单击页码时从服务器端加载数据。然后我使用了
$('#table').dataTable().fnAddData(recordsArray)
将新检索到的数据追加到表中。这是成功的。我的问题是,即使数据被追加到表中,它仍然会保留在第一页,尽管发生了click事件。我尝试了
table.rows.add(recordsArray.draw()
fnDrawCallback
事件,但仍然没有成功

        $(document).ready(function() {
           table = $('#table').DataTable({
                "filter": true,
                "paging":true,
                "pagingType": "full_numbers",
                "pageLength": 5,
                 scrollCollapse: true,
                 scrollY:'70vh',
                "dom": '<"dataTablesTop"' +
                'f' +
                '<"dataTables_toolbar">' +
                '>' +
                'rt' +
                '<"dataTablesBottom"' +
                'lip' +
                '>',
                "info":true
            });
        $('#table').on('page.dt', function (e, settings) {
            // console.log(JSON.stringify(settings));
            update(settings);
        });
        });

感谢您对此的任何意见


提前谢谢

我只需制作
table.rows.add(recordsArray.draw()
表.rows.add(recordsArray).draw(false)

据我所知,datables有一个选项,您可以在datatable NewPage上自动将数据ajax化。这实际上并不适用于新页面。假设我最初加载了2-3页。然后,当我点击第二页时,我需要加载第四页的数据并将其移动到第二页。为什么需要这样做?服务器端和数据表逻辑实际上相当复杂。它是由小工具服务器创建的。所以如果我要改变那部分,我必须改变一个巨大的代码。无论如何,我通过简单地向table.rows.add(recordsArray.draw())添加false参数来实现这一点;方法。谢谢你的支持!美好的这是链接,以防有人想知道更多。
    update = function(data) {
        alert(data);
        var displayStart = data._iDisplayStart;
        var displayLength = data._iDisplayLength;
        var records = data.aiDisplay.length;
        if(displayStart != 0) {
            var data = getProviderData(displayStart, displayLength, records, true);
            for(var i = 0; i < data.length; i++ ) {
                no = no + 1;
                data[i].no = no;
                try {
                    var json =  data[i].jsonBody.replace(/\\n/g, "")
                        .replace(/\\'/g, "\\'")
                        .replace(/\\"/g, '\\"')
                        .replace(/\\&/g, "\\&")
                        .replace(/\\r/g, "\\r")
                        .replace(/\\t/g, "\\t")
                        .replace(/\\b/g, "\\b")
                        .replace("%", "")
                        .replace(/\\f/g, "\\f");

                    data[i].jsonContent = JsonHuman.format(JSON.parse(json)).outerHTML;
                }
                catch (e) {
                    data[i].jsonContent = data[i].jsonBody;
                }
            }

            var recordsArray = [];
            for(var j = 0; j < data.length; j++) {
                var temp = [];
                temp.push(data[j].no);
                temp.push(data[j].responseTime);
                temp.push(data[j].api);
                temp.push(data[j].jsonContent);
                recordsArray.push(temp);
            }
            // table.rows.add(recordsArray).draw();
            $('#table').dataTable().fnAddData(recordsArray);
        }
        // drawGadget();
        // wso2gadgets.update(data,"append");
return;
    };