Jquery Ajax Datatable重新加载

时间:2016-04-24 08:00:01

标签: javascript jquery ajax

我正在使用jquery数据表来列出我的数据库值。       我想在同一页面中创建一个国家及其状态,而最初状态数据表是空的。一旦我创建国家/地区生成国家ID,并且可以在同一页面中创建具有该国家/地区ID的状态。它也创建正常但问题是数据表是不是重新加载它应该显示已创建但未显示的状态。问题是生成的国家ID在重新加载时没有传递给datatable中的ajax参数。

 country_id=$("#country_id").val();
    dataTable = $('#example').DataTable( {
         "serverSide": true,
    // Load data for the table's content from an Ajax source
        "ajax": {
        "url": datatable_url,
        "type": "POST",
        data:{country_id: $("#country_id").val()},
        error: function () {  // error handling
            $(".table-grid-error").html("");
            $("#table").append('<tbody class="employee-grid-error"><tr><th colspan="3">No data found in the server</th></tr></tbody>');
            $("#table-grid_processing").css("display", "none");
        }
    },

    ],
});

我通过

重新加载它
 $.ajax({
    url: 'url',
    type: "POST",
    data: {
     //data
    },
    success: function (data) {
              reload_tabless();
   },

function reload_tabless() {
dataTable.ajax.reload(null, false); //reload datatable ajax
}

请帮我纠正。

2 个答案:

答案 0 :(得分:1)

看起来您在调用url之前应该执行ajax调用的代码中的'url'硬编码为字符串reload_tabless(),这很可能使ajax调用失败,因此不执行成功回调。

我认为你不需要额外的ajax电话。只需执行reload_tabless而不是ajax调用。

答案 1 :(得分:0)

在DataTable部分中使用“destroy”:true并再次调用DataTable函数。

它会在没有回发的情况下重新加载DataTable。