Jquery Ajax Datatable reload

Jquery Ajax Datatable reload

本文关键字:reload Datatable Ajax Jquery      更新时间:2023-09-26

我正在使用jquery数据表列出我的数据库值。 我想在同一页面中创建一个国家及其州,而最初州数据表为空。创建国家/地区后,将生成国家/地区ID,并且可以在同一页面中创建具有该国家/地区ID的州。它也创建得很好,但问题是数据表没有重新加载,它应该显示已创建的状态,但没有显示。问题是生成的国家/地区 ID 在重新加载数据表时未传递给数据表中的 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
}

请帮我纠正它。

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

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

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

它将重新加载数据表而不回发。