2016-12-05 3 views
0

私はdatatableプラグインを使用しており、ajaxでテーブルをリフレッシュしたいと考えています。私はhereを読んで、私のajaxリターンをテーブルに表示させるが、動作しない。ここに私のhtmlコードは次のとおりです。ajaxとjsonでデータテーブルをリロードする

<button type="button" onclick="rld()">test</button> 
<table id="sample_1"> 
     <thead> 
      <tr> 
      <th> 1 </th> 
      <th> 2 </th> 
      <th> 3 </th> 
      </tr> 
     </thead> 
</table> 

私のJava関数:

私は問題が何であるかを取得することはできません。警告はありませんが、コンソールにはTypeErrorがあります:fは定義されていません とTypeError:cは未定義です jsonの戻り値が正しい理由はわかりません([JSONLint] [3]でチェックされています)。 ありがとうございます。

+0

http://stackoverflow.com/a/33651126/244811? – sweaver2112

+0

どのバージョンのデータシートを使用していますか? – Kisaragi

+0

table.api()。ajax.reload(null、false); https://datatables.net/reference/api/ajax.reload() –

答えて

0

ありがとうございました:) jsonとして返されたときにデータがどこに送られるのか、jsonフィールドの名前が列データフィールド名と等しくないことがわかりました。ですので、調整してください:

function reload_table(){ 
var table = $('#sample_1').DataTable(); 
    table.destroy(); 
    var table = $('#sample_1').DataTable({ 
     "processing": true, 
     "dataType": 'json', 
     ajax: '<?php echo site_url('admin/relaod_table'); ?>', 
     deferRender: true, 
     columns: [ 
      { data: 'user_firstname' }, 
      { data: 'user_lastname' }, 
      { data: 'user_status' }, 
      { data: 'user_created_date' }, 
     ], 
     dom: 'Bfrtip', 
     buttons: [ 
      { 
       text: 'Reload table', 
       action: function() { 
        table.ajax.reload(); 
       } 
      } 
     ] 
    }); 
} 
関連する問題