2015-02-06 4 views
0

с использованием jQuery и его плагинов. Таблицы данных, обнаруживающие небольшое ненормальное поведение; если в результате у меня есть объект, он работает тихо; однако, если у меня есть простой массив, появляется фраза: «Нет данных в таблице».jQuery DataTables: Обычный массив или объект

Я нашел решение, чтобы отобразить содержимое массива: простой

"ajax": { 
    "url": "./pages/tabledata.php", 
    "dataSrc": "" 
} 

, но, конечно, в случае субъекта, скрипт не работает, и возвращает мне фразу приведенную выше.

Мой вопрос:

вы можете изменить код, прикрепленный, чтобы проверить, является ли объект или, если это обычный массив?

Заранее спасибо

$(document).ready(function() { 
 

 
\t if ($('#mytable').length) { 
 

 
    $('#mytable').dataTable({ 
 
     "ajax": "./pages/tabledata.php", 
 
     "columns": [ 
 
     {"data": "id", "visible": false, "searchable": false}, 
 
     {"data": "code"}, 
 
     {"data": "name"} 
 
     ], 
 
     "order": [ 1, 'asc'] 
 
    }) 
 
    } 
 

 
});
<script src="https://cdn.datatables.net/1.10.4/js/jquery.dataTables.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 

 
<table id="mytable" class="display"> 
 
    <thead> 
 
    <tr> 
 
     <th>ID</th> 
 
     <th>Code of Data</th> 
 
     <th>Name User</th> 
 
    </tr> 
 
    </thead> 
 
</table>

JSON для объекта:

{ 
    "data":[ 
     { 
      "id":"1", 
      "code":"PRF00001", 
      "name":"Test 1" 
     },{ 
      "id":"2", 
      "code":"PRF00002", 
      "name":"Test 2" 
     } 
    ] 
} 

JSON для простого массива:

{ 
    "data":{ 
     "id":"1", 
     "code":"PRFS00001", 
     "name":"Test 1" 
    } 
} 

ответ

0

ваша проблема заключается в том, что данные не распознают «данные» из формата простого массива в виде массива, поэтому нет ничего, что можно было бы перечислить с момента его создания.

, но если и изменить формат этого:

{ 
    "data": [ //<= 
    { 
     "id":"1", 
     "code":"PRFS00001", 
     "name":"Test 1" 
    } 
    ] //<= 
} 

, то вы увидите, что данные появляются снова.

я сделал скрипку для вас здесь: http://jsfiddle.net/9chxhmk2/

вот ссылка на признанный формат JSON для DataTables: http://datatables.net/release-datatables/examples/server_side/post.html

+0

Благодаря kabstergo, ваша помощь всегда дорого! –

Смежные вопросы