Javascript DataTables ajax.reload()不工作
我花了这么多时间,无法理解为什么datatables不能刷新我的表,我已经为这个datatables疯狂了 下面是我的代码,我花了几周的时间在上面,但无法让它正常工作,我使用了ajax.reloadJavascript DataTables ajax.reload()不工作,javascript,jquery,ajax,datatables,Javascript,Jquery,Ajax,Datatables,我花了这么多时间,无法理解为什么datatables不能刷新我的表,我已经为这个datatables疯狂了 下面是我的代码,我花了几周的时间在上面,但无法让它正常工作,我使用了ajax.reload DataTablesDraw = (selector, order, pages, file, sort, column, template, data_set) -> $(selector).DataTable 'pageLength': pages 'ordering': sort
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
表正在从文件中获取数据,一切正常,只是ajax.reload()无法修复
资料
请检查您的datatable Jquery版本是否使用ajax.reload()。如果您使用的是像(1.10)这样的旧版本,那么您必须使用datatable的API
$('#table_data').dataTable( ).api().ajax.reload();
这对你很有用
或者对于重新加载表,您可以先销毁数据表,然后再次加载它
table = $("#table_data").datatable()
$("#my-button").click(function() {
table.fnDestroy();
table = $("#table_data").dataTable();
});
错误在于你使用了tis格式的ajax重载 table.ajax.reload() 但是为了纠正这个错误,我需要这样做 $(“#表”).DataTable().ajax.reload()
希望这能帮助其他人,在这件小事上花了这么多时间获取错误:未捕获类型错误:dataTable.fnDestroy不是一个函数。使用
dataTable()
代替dataTable()
$('#table_data').dataTable( ).api().ajax.reload();
table = $("#table_data").datatable()
$("#my-button").click(function() {
table.fnDestroy();
table = $("#table_data").dataTable();
});