2012-06-14 1 views
0

У меня есть сценарий для кодирования строки json, чтобы отображать данные в формате jquery datatable.Datatables с проблемой обработки на стороне сервера

Однако на странице ничего не отображается! Если я сделаю простой ответ, используя jquery .post, данные будут показаны, но таблица потеряет свою функциональность.

Вот что я сделал до сих пор

JSON закодировать скрипт

$user = new Users(); 

$rcs_user = $user->get_all_users(); 
$response = ''; 
$arrResp = array(); 
$arrItems = array(); 

foreach ($rcs_user as $info) 
{ 


    $arrItems = array(utf8_encode($info->nome),$info->email,$info->permissao,$info->activo,'<span class="tip" > 
        <a title="Edit" ><img src="images/icon/icon_edit.png" ></a> 
        </span> 
        <span class="tip" > 
        <a id="1" class="Delete" name="Band ring" title="Delete" > 
        <img src="images/icon/icon_delete.png" > 
        </a></span>'); 
    array_push($arrResp, $arrItems); 

} 
$array = array("aaData"=>$arrResp); 

echo json_encode($array); 

JSON строки, что результаты сценария (Утвержденный с JSONLint)

{ 
"aaData": [ 
    [ 
     "admin", 
     "[email protected]", 
     "1", 
     "1", 
     "\r\n </a>\r\n </span> \r\n \r\n \r\n \r\n </a></span>" 
    ], 
    [ 
     "admin2", 
     "[email protected]", 
     "1", 
     "1", 
     "\r\n </a>\r\n </span> \r\n \r\n \r\n \r\n </a></span>" 
    ], 
    [ 
     "António", 
     "[email protected]", 
     "10", 
     "0", 
     "\r\n </a>\r\n </span> \r\n \r\n \r\n \r\n </a></span>" 
    ], 
    [ 
     "João Dias", 
     "[email protected]", 
     "10", 
     "0", 
     "\r\n </a>\r\n </span> \r\n \r\n \r\n \r\n </a></span>" 
    ], 
    [ 
     "Zé Manel", 
     "[email protected]", 
     "10", 
     "1", 
     "\r\n </a>\r\n </span> \r\n \r\n \r\n \r\n </a></span>" 
    ] 
] 
} 

И, наконец, JQuery

$(document).ready(function() { 
      $('#data_table3').dataTable({ 
        "bProcessing": true, 
        "bServerSide": true, 
        "sAjaxSource": 'modules/user/showusers.php' 
       }); 
      }); 

Каждый раз, когда я перезагрузить страницу, я получил это предупредительное сообщение о

Datatables Warining (tableid = data_table3): Cannot reinitialize table data. To retrieve the Data Objects for this table pass no arguments or see the docs for bRetrieve or bDestroy. 

Было бы огромную помощь, если я получу эту работу!

+0

Как насчет сокращения проблемы для нас немного? – hakre

+0

Как очистить таблицу с помощью fnClearTable перед (re) загрузкой данных? – Wrikken

+0

@hakre, проблема заключается в сообщении об ошибке в нижней части сообщения. Basicaly, я не получаю никаких данных, и я получаю эту ошибку –

ответ

0

Я думаю, что когда вы делаете обработку сервера вручную, то вам необходимо добавить следующие параметры в ответ:

  • iTotalRecords - общее число записей в базе данных
  • iTotalDisplayRecords - сколько записей для отображения

Они должны быть на том же уровне, что и параметр aaData в ответе JSON. См. Руководство по DataTables, объяснение использования этих полей.

+0

Я попробую с этими параметрами и напишу ответ как можно скорее –