2016-10-19 2 views
0

Я конвертирую свой json-скрипт в сценарий на стороне сервера, чтобы нарисовать таблицу, потому что я начал использовать DataTable, когда у меня было 500 данных, но теперь у меня больше, чем 1000.DataTable: server side - TypeError: Не удается прочитать свойство 'length' undefined

Я следую этому руководству https://coderexample.com/datatable-demo-server-side-in-phpmysql-and-ajax/, но я получаю сообщение об ошибке: «TypeError: Can not read property« length »undefined».

Что случилось? Мне очень жаль, но я новичок.

search_user.php

if ($type=="search"){ 
    $requestData= $_REQUEST; 
    $columns = array(
     0 =>'id', 
     1 =>'email', 
     2 =>'nome', 
     3 =>'cognome', 
     4 =>'lingua', 
     5 =>'unsubscribe' 
    ); 
    $sql = "SELECT id,email,nome,cognome,lingua,unsubscribe FROM newsletter_utenti"; 
    $query=mysqli_query($db, $sql) or die(); 
    $totalData = mysqli_num_rows($query); 
    $totalFiltered = $totalData; 

    $data = array(); 
    while($row=mysqli_fetch_array($query)) { 
     $nestedData=array(); 
     $nestedData[] = $row["id"]; 
     $nestedData[] = $row["email"]; 
     $nestedData[] = $row["nome"]; 
     $nestedData[] = $row["cognome"]; 
     $nestedData[] = $row["lingua"]; 
     $nestedData[] = $row["unsubscribe"]; 
     $data[] = $nestedData; 
    } 
    $json_data = array(
       "draw"   => intval($requestData['draw']), 
       "recordsTotal" => intval($totalData), 
       "recordsFiltered" => intval($totalFiltered), 
       "data"   => $data 
       ); 

    echo json_encode($json_data); 
} 

JS скрипт

var dataTable = $('#contacts-grid').DataTable({ 
    "processing": true, 
    "serverSide": true, 
    "ajax":{ 
     url : "search_user.php", 
     type: "post", 
     data: {type:'search'}, 
     error: function(){ // error handling 
     alert("error"); 

     } 
    } 
    }); 

HTML

<table class="table table-responsive filter-head" id="contacts-grid"> 
        <thead> 
        <tr> 
         <th>ID</th> 
         <th>E-mail</th> 
         <th>Nome</th> 
         <th>Cognome</th> 
         <th>Lingua</th> 
         <th>Stato</th> 
        </tr> 
        </thead> 
        <tbody></tbody> 
       </table> 
+0

Я новичок, и я могу следить за некоторыми учебниками, но я достиг одной ошибки, и я не знаю, в чем причина. Я также пробовал источники автора, и они работают, но я не могу понять, где я ошибаюсь. – Otto

+0

Можете ли вы посмотреть в консоли, чтобы проверить, что ваш json возвращается? – markpsmith

+0

Я получаю эту ошибку: «TypeError: Can not read property« length »undefined», и я заметил, что ajax не получил никаких данных. – Otto

ответ

0

Я удалил состояние $ type == "поиск" и теперь он работает!

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