Javascript 替换DataTables数据和列标题

Javascript 替换DataTables数据和列标题,javascript,datatables,Javascript,Datatables,我可以成功地替换DataTable的数据,但不能替换列。我确信我能弄清楚如何更改列标题文本,但是,如果列计数更改,这将不起作用。如何替换数据和列标题名称 var dataTables; document.getElementById('query-form').addEventListener('submit', function(event){ event.preventDefault(); var url = getUrl(); var xhttp = new XML

我可以成功地替换DataTable的数据,但不能替换列。我确信我能弄清楚如何更改列标题文本,但是,如果列计数更改,这将不起作用。如何替换数据和列标题名称

var dataTables;
document.getElementById('query-form').addEventListener('submit', function(event){
    event.preventDefault();
    var url = getUrl();
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            var json = JSON.parse(this.response);
            if (dataTables) {
                console.log(dataTables)
                dataTables.clear();
                dataTables.rows.add(json.results.data);
                //dataTables.columns.add(json.results.columns);
                dataTables.draw();
            }
            else {
                dataTables = $('#datatables').DataTable( {
                    data: json.results.data,
                    columns: json.results.columns,
              } );
            }
        }
    };
    xhttp.open("GET", url);
    xhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
    xhttp.send();
});

您可以像数据和列数组一样管理数据调用响应,然后将我的代码放入ajax调用或任何其他调用中,并在DataTables中解决动态列问题

jQuery(document).ready(function() {
    var dataObject = eval('[{"COLUMNS": [{ "title": "Col1"}, { "title": "Col2"}], "DATA":[["RP","1"],["Billy","2"],["GP","3"],["MM","4"]]}]');
    var columns = [];
    $('#demoexample').dataTable({
        "data": dataObject[0].DATA,
        "columns": dataObject[0].COLUMNS
    }); 
});

我可以按照我的原始帖子所示创建初始DataTable,但在初始化呈现后无法更改标题名称。我目前的解决方法是先销毁它,然后重新初始化它。谢谢