2015-02-06 96 views
0

的特性「長度」我有數據表:數據表 - 無法讀取空

function drawRadnici() { 

       $('#tableradnici').dataTable({ 

        "ajax": { 
       "url": 'track_radnici.php', 
       "type": 'POST', 
       "data": {ajdi:ajdi}, 
       }, 
        paging: false, 
        //"dom":' <"search"f><"top"l>rt<"bottom"ip><"clear">', 
        // end , 
        "columns": [ { 
          "data": "datum"}, { 
          "data": "radnik"},{ 
          "data": "radnih_sati"},{ 
          "data": "cena"},{ 
          "data": "ukupno"},{ 
          "data": "ID"} 
        ], 

        "columnDefs": [ 

          { 
         "targets": 5, 
         "data": "ID", 
         "render": function(data, type, full, meta) { 
          // return data; 
          return '<i value="'+data+'" class="fa fa-times"></i>'; 
         } 
          } 


    ] 
       }); 

      }; 

,做工精細,但當我從數據庫空的JSON數據,然後我得到:

Uncaught TypeError: Cannot read property 'length' of null 

的json當我還沒有數據是:

{data:null} 

什麼,我試圖做的事 - 我嘗試成功函數添加到AJAX:

"ajax": { 
       "url": 'track_radnici.php', 
       "type": 'POST', 
       "data": {ajdi:ajdi}, 
"success": function (data) { 
if (data == null) { 
$('#tabeleradnici').html('No result'); 
} 
} 
       }, 

所以我儘量在我沒有數據,只添加文本#tabeleradnici ......但這也不要工作...

+0

您可以使用[fnDrawCallba ck](http://legacy.datatables.net/ref#fnDrawCallback)這個 – markpsmith 2015-02-06 14:29:57

回答

2

您可以檢查其無效,並使其空的,所以。長度是仍然有效:

"success": function (data) { 
    data = data || []; 
} 

更新:

function drawRadnici() { 

    $('#tableradnici').dataTable({ 

     "ajax": { 
      "url": 'track_radnici.php', 
      "type": 'POST', 
      "dataSrc": function (json) { 
       if(!json.data){ 
      $('#tabeleradnici').html('No result'); 
      json.data = []; 
     } 
       return json.data; 
      },  
      "data": { 
       ajdi: ajdi 
      } 
     }, 
     paging: false, 
     //"dom":' <"search"f><"top"l>rt<"bottom"ip><"clear">', 
     // end , 
     "columns": [{ 
      "data": "datum" 
     }, { 
      "data": "radnik" 
     }, { 
      "data": "radnih_sati" 
     }, { 
      "data": "cena" 
     }, { 
      "data": "ukupno" 
     }, { 
      "data": "ID" 
     }], 

     "columnDefs": [ 

      { 
       "targets": 5, 
       "data": "ID", 
       "render": function(data, type, full, meta) { 
        // return data; 
        return '<i value="' + data + '" class="fa fa-times"></i>'; 
       } 
      } 


     ] 
    }); 

}; 
+0

不工作,所以成功只是一個想法,我怎麼能以其他方式解決這個問題? – 2015-02-06 14:25:22

+0

我需要destoy #tabelaradnici如果沒有數據,只是爲了顯示文本'沒有數據'... – 2015-02-06 14:26:23

+0

你可以將它添加到渲染功能?或者你試圖獲得它的長度? – 2015-02-06 14:26:34