【问题标题】:DataTables ajax.reload() not workingDataTables ajax.reload() 不工作
【发布时间】:2017-09-05 08:26:23
【问题描述】:

我花了这么多时间,不明白为什么数据表不能刷新我的表,我已经对这个数据表感到疯狂了

我的代码在下面,我花了数周时间,但无法让它工作,我使用 ajax.reload

DataTablesDraw = (selector, order, pages, file, sort, column, template, data_set) ->
$(selector).DataTable
  'pageLength': pages
  'ordering': sort
  'destroy' : true,
  'paging': true
  'responsive': true
  'searching': false
  'info': false
  'lengthChange': true
  'autoWidth': false
  'select': true
  'dom': 'Bfrtip',

  'buttons': [
          {
            'extend': 'excelHtml5',
            'title': file + new Date()
          },
          'copyHtml5'
      ],
  'order': [ [ column, 'desc' ] ],
  'language': {
        buttons: {
            copyTitle: i18n[lang]['id[9]'],
            copySuccess: {
                _: i18n[lang]['id[10]'] + ' %d ' + i18n[lang]['id[11]'],
                1: i18n[lang]['id[12]']
            }
        }
    }
  'ajax': '/settings/ranges/ranges.txt',
  "dataSrc": "data",
  'drawCallback': (settings) ->

    $('.dataTables_paginate > span').remove()
    excel = $('#DataTables_Table_' + order + '_wrapper .buttons-excel').detach()
    copy = $('#DataTables_Table_' + order + '_wrapper .buttons-copy').detach()

    if not $('#DataTables_Table_' + order + '_wrapper thead.tfoot').length
      $(this).append '<thead class="tfoot">' +
            '<tr>' +
                '<th colspan="10">' +
                    '<div class="export">' +
                        '<div class="buttons"></div>' +
                    '</div>' +
                    '<div class="paginator"></div>' +
                '</th>' +
            '</tr>' +
         '</thead>'

    paginator = $('#DataTables_Table_' + order + '_paginate').detach()
    $('#DataTables_Table_' + order + '_wrapper thead .paginator').append paginator
    $('#DataTables_Table_' + order + '_wrapper thead .export .buttons').append excel, copy

    if @fnPagingInfo().iTotalPages <= 1
      $('#DataTables_Table_' + order + '_paginate').hide()
      $('#DataTables_Table_' + order + '_info').hide()
    else
      $('#DataTables_Table_' + order + '_paginate').show()
      $('#DataTables_Table_' + order + '_info').show()

    return

  'columns': template
return

打电话

table= DataTablesDraw '.__ranges__', 0, 25, 'Current Ranges ', true, 5, CurrentRangesTemplate, ranges #selector, order, pages, file name, sorting
table.ajax.reload()

表格正在从文件中获取数据一切都很好,只是 ajax.reload() 无法修复

数据

{"data": [{"status": "1", "environment": "demo", "currency": "EUR", "range_to": 42342, "date_update": 1491814286, "server": "server", "date_create": 1491814286, "platform": "platform", "range_from": 432423, "user": {"email": "test@test.com"}]}

【问题讨论】:

    标签: javascript jquery ajax datatables


    【解决方案1】:

    错误是你以这种格式使用了 ajax reload

    table.ajax.reload()

    但为了纠正错误,我需要这样做

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

    希望这对其他人有所帮助,在这件小事上花了很多时间

    【讨论】:

    【解决方案2】:

    请检查您的数据表 Jquery 版本以使用 ajax.reload()。如果您使用的是(1.10)等旧版本,则必须使用数据表的 API。

    $('#table_data').dataTable( ).api().ajax.reload();
    

    它会为你工作。

    或重新加载表,您可以首先销毁数据表并再次加载它。例如。

     table = $("#table_data").datatable()
    $("#my-button").click(function() {
        table.fnDestroy();
        table = $("#table_data").dataTable();
    });
    

    【讨论】:

    • 出现错误:未捕获的类型错误:dataTable.fnDestroy 不是函数。
    • 使用DataTable() 代替datatable()
    猜你喜欢
    • 2017-07-13
    • 2017-08-11
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多