如何使用AJAX刷新JS数据表

如何使用AJAX刷新JS数据表,ajax,datatables,jquery-datatables,Ajax,Datatables,Jquery Datatables,我使用AJAX加载(并随后刷新)JS数据表(v1.10.0)。我认为这样做不恰当,因为虽然可以加载初始表,但后续的AJAX请求不会更新表 我尝试了.clear()、.draw()和.rows.add()JS Datatables方法的各种组合,但似乎都不起作用 jquery代码如下: $(document).ready(function() { $('#results').html('<table id="table-output" class="display" cellspa

我使用AJAX加载(并随后刷新)JS数据表(v1.10.0)。我认为这样做不恰当,因为虽然可以加载初始表,但后续的AJAX请求不会更新表

我尝试了.clear()、.draw()和.rows.add()JS Datatables方法的各种组合,但似乎都不起作用

jquery代码如下:

$(document).ready(function() {

    $('#results').html('<table id="table-output" class="display" cellspacing="0" width="100%"></table>');

    var table_config = {
        "bDestroy": true,
        "paging": false,
        "language": {
            "zeroRecords": "No results found",
            "processing": "<div align='center'><img src='/static/ajax-loader.gif'></div>",
            "loadingRecords": "<div align='center'><img src='/static/ajax-loader.gif'></div>"
        }
    };       

    $("form").submit(function(e) {

        e.preventDefault();

        var form_data = JSON.stringify($(this).serializeArray());

        $.ajax({
            type: 'POST',
            url: /the_url,
            data: form_data,
            contentType: 'application/json',
            dataType: 'json',
            success: function(response) {

                table_config.data = response.data;
                table_config.columns = response.columns;

                $('#table-output').dataTable(table_config);

            }
        });
    });
});
$(文档).ready(函数(){
$('#results').html('');
变量表配置={
是的,
“分页”:false,
“语言”:{
“zeroRecords”:“未找到任何结果”,
“处理”:“,
“加载记录”:”
}
};       
$(“表格”)。提交(功能(e){
e、 预防默认值();
var form_data=JSON.stringify($(this.serializeArray());
$.ajax({
键入:“POST”,
url:\u url,
数据:表格数据,
contentType:'应用程序/json',
数据类型:“json”,
成功:功能(响应){
表_config.data=response.data;
表_config.columns=response.columns;
$('#表输出').dataTable(table#config);
}
});
});
});
您可以尝试:

var table1 = $('#youtblename').DataTable();
var pathp = "/server_processing_pie.php";

tablel.clear();
tablel.draw();
tablel.ajax.url(pathp).load();

我想出来了。修改成功函数如下所示:

success: function(response) {
                    $('#results').html('<table id="table-output" class="display" cellspacing="0" width="100%"></table>');

                    table_config.columns = response.columns;

                    var table = $('#table-output').DataTable(table_config);
                    table.clear();
                    table.rows.add(response.data);
                    table.draw();

                }
成功:功能(响应){
$('#results').html('');
表_config.columns=response.columns;
var table=$('#table output').DataTable(table#config);
表1.clear();
table.rows.add(response.data);
table.draw();
}

您确定AJAX调用成功了吗?是的,在浏览器中检查了响应。这对我不起作用,因为您使用的是datatable的AJAX方法而不是jquery(这是一项要求)