数据表,更改AJAX数据(不包含元素)

Lef*_*isL 6 javascript ajax jquery datatables

我有一个由AJAX填充的数据表.一切都很好,但我希望有一些快捷方式来从服务器请求数据.问题是如何更改我即时发送的数据?我知道我可以创建一个元素<input>或其他东西,它可以从中获取价值,但我希望我可以在点击某些内容后更改数据.

var Table = $('#table').DataTable({
            "ajax": {
                "type" : "POST",
                "url": "url",
                "data": function ( d ) {
                    d.cmd = "offline";
                }
            },
        });
Run Code Online (Sandbox Code Playgroud)

这工作得很好,并传递cmd作为offline回服务器.如何在ajax.reload调用之前更改单击值.

$('#online_btn').on( 'click', function () {
            Table.ajax.reload();
        } );
Run Code Online (Sandbox Code Playgroud)

用这个

$('#online_btn').on( 'click', function () {
            var d = [];
            d.cmd = "online";
            Table.ajax.data(d);
            Table.ajax.reload();
        } );
Run Code Online (Sandbox Code Playgroud)

给出ajax.data is not a function错误

cha*_*tfl 15

您可以修改对象并使用$ .extend()在数据函数中合并

var myData ={};
var Table = $('#table').DataTable({
            "ajax": {
                "type" : "POST",
                "url": "url",
                "data": function ( d ) {
                   return  $.extend(d, myData);
                }
            },
        });

$('#online_btn').on( 'click', function () {            
            myData.cmd = "online";            
            Table.ajax.reload();
});
Run Code Online (Sandbox Code Playgroud)