DataTable处理错误

时间:2017-08-28 16:08:12

标签: javascript php jquery datatables

我正在努力在用户点击按钮时加载新的数据表。新数据表由服务器端脚本填充。当用户点击按钮时,数据表会挂起并显示“正在处理”。

$('#QuerySelectedBtn').on('click', function(event) {event.preventDefault(); 
    $("#example").dataTable().fnDestroy();
    var table = $('#example').DataTable({
            "processing": true,
            "serverSide": true,
            "ajax":{ 
             url: './datasource02.php',
             type: 'get',
                error: function(){  // error handling
                  $(".example-error").html("");
                  $("#example").append('<tbody class="example-error"><tr><th colspan="3">No data found in the server</th></tr></tbody>');
                  $("#example_processing").css("display","none");
                  }
              },
              "columns": [
              { "data": "ID" },
              { "data": "user_id" },
              { "data": "option_name" },
              { "data": "option_value" }
              ],
              "order": [],
              "dom": 'lfrtipB',        
              "buttons": {
                 "dom": {
                    "button": {
                      "tag": "button",
                      "className": "btn"
                     }
                   },
                   "buttons": [ 
                        { extend: 'copy', text: 'Copy' },
                        { extend: 'csv', text: 'CSV' },
                        { extend: 'excel', text: 'Excel' }, 
                        { extend: 'pdf', text: 'PDF' }, 
                        { extend: 'print', text: 'Print' } 

                    ]   
                }
            });
        });

1 个答案:

答案 0 :(得分:0)

解决方案:而不是使用此行$("#example").dataTable().fnDestroy();,请使用以下代码

var table = $('#example').DataTable();
 table.destroy();

原因:

1.   $("#example").dataTable();` // .fnDestroy() works

2 . $("#example"). DataTable();' // .fnDestroy() doesn't work  
                                   //.destroy();  will work

您当前配置中的问题:

您使用此API:dataTable().fnDestroy();这不适用于DataTable(); api

供参考:https://datatables.net/reference/api/