2016-07-30 55 views
0

我有一個jQuery數據表是服務器端處理模式。 如何添加setTimeout函數時,服務器端回調like this如何重新加載jQuery數據表中回調畫圖時?

我的代碼如下,

$(document).ready(function() { 
    $.fn.dataTable.ext.errMode = 'none'; 
    var table = $('#example').DataTable({ 
    "processing": true, 
    "serverSide": true, 
    "jQueryUI": true, 
    "ordering": true, 
    "order": [[1, 'desc']],//default 
     "lengthMenu": [ 
     [50, 100, 1000], 
     [50, 100, 1000] 
     ], 

    "ajax": function (data, callback, settings) { 
     url: "process.php", 
     type: "POST", 
     data: { 
     start: "<?php echo $start; ?>", 
     end: "<?php echo $start; ?>" 
      }, 

     setTimeout(function() { 
      callback({ 
       draw: data.draw, 
       data: aaData, 
       recordsTotal: data.recordsTotal, 
       recordsFiltered: data.recordsFiltered 
      }); 
     }, 50); 
    }, 

    "columns": [ 
     { 
      "className":'details-control', 
      "orderable":false, 
      "data":null, 
      "defaultContent": '' 
     }, 
     { "data": "time"}, 
    { "data": "message","orderable": false} 

    ], 
    "dom": 'frtiS', 
    "scrollY": 600, 
    "scroller": { 

     "loadingIndicator": true 
    }, 
    "deferRender": true 

}); 

顯然,這是不行的, 有人能指出我出正確的方式去做。

感謝,

回答

0

你並不需要調用setTimeout()。它在該示例中用於模擬服務器端響應並添加延遲。

如果使用,Scroller擴展將自動從服務器中提取新數據。

見糾正ajax選項如下:

"ajax": { 
    "url": "process.php", 
    "type": "POST", 
    "data": { 
     "start": "<?php echo $start; ?>", 
     "end": "<?php echo $start; ?>" 
    } 
},