【问题标题】:How can I reload my jquery datatable after ajax success?ajax成功后如何重新加载我的jquery数据表?
【发布时间】:2019-10-02 17:05:51
【问题描述】:

我正在尝试在成功的 ajax 事件后重新加载我的 jquery 数据表:

 $(document).on('change', '#select', function(e) {
    var uuid = $( "#form_uuid" ).val();
    var form = $(this).closest('form');
    var formData = form.serializeArray();

    $.ajax({
      method:'POST',
      url:'{{ path('forms', { 'slug': output.page.slug }) }}',
      data: {
        "data": formData
      },
      success: function(data){
          table.ajax.reload();  
      }
    });

我收到以下错误消息:

DataTables 警告:表 id=DataTables_Table_0 - JSON 无效 回复。有关此错误的更多信息,请参阅 http://datatables.net/tn/1

我也尝试过使用

$('.table').DataTable().ajax.reload();

但我收到相同的错误消息。

这是我的数据表:

  var table = $('.table').DataTable({
    "scrollX": true,
    "data": {{ output.data|raw }},
  });

【问题讨论】:

  • 您是否按照该链接进行了他们推荐的诊断?
  • 您的代码未显示您如何设置 DataTable。也许你错过了一些东西。见:datatables.net/reference/api/ajax.reload()
  • ajax.reload() 触发从源重新加载数据,由 DataTables ajax 选项设置,很可能你没有指定一个。
  • 我将我的数据表添加到我的问题中。我正在通过 json 加载数据
  • @Moob 是的,我遵循了诊断,但不幸的是资源列表中没有显示 ajax 请求

标签: jquery error-handling datatables reload


【解决方案1】:

试试这个:

table.fnDraw();

或:

reloadTable = $('.table').dataTable();
reloadTable.fnDraw();

【讨论】:

  • table.fnDraw();工作!但是为什么这行得通而table.draw(); 不行!
猜你喜欢
  • 2016-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-14
  • 1970-01-01
  • 2020-06-27
相关资源
最近更新 更多