2016-07-23 11 views
0

anzuzeigen nach der Initialisierung der Datentabelle in meiner Seite funktioniert es gut, aber ich muss Server-Antwortdaten dynamisch in Datentabelle anzeigen. Ich kann Daten in console.log erhalten (Daten)wie Ajax Server-Antwortdaten in Datentabelle mit php

$(document).ready(function() { 
     $.ajax({ 
      url: 'xxxxxx/xxxxxxx', 
      method: 'POST', 
      success: function (data) { 
       $('#datatable').dataTable({ 
        data: data, 
        serverside:true, 
        columns: [ 
         { 'data': 'UserId' }, 
         { 'data': 'UserDepartment' }, 
         { 'data': 'UserCourse' }, 
         { 'data': 'UserName' }, 
         { 'data': 'UserBirthDate' }, 
         { 'data': 'UserEmail' }, 
         { 'data': 'UserContact' } 
        ] 
       }); 
      } 
     }); 
    }); 

Antwort

0

Dieses Versuchen:

<?php 
    $sql = "SELECT FROM user"; 
      $sql_result = $conn->query($sql); 

      $response = array('data' => $sql_result); 
      echo json_encode($response); 

    ?> 

    $(document).ready(function() { 
     $.ajax({ 
      url: 'xxxxxx/xxxxxxx', 
      method: 'POST', 
      dataType: 'json', 
      success: function(data) { 
       $('#datatable').dataTable({ 
        data: data, 
        serverside: true, 
        columns: [{ 
         'data': 'UserId' 
        }, { 
         'data': 'UserDepartment' 
        }, { 
         'data': 'UserCourse' 
        }, { 
         'data': 'UserName' 
        }, { 
         'data': 'UserBirthDate' 
        }, { 
         'data': 'UserEmail' 
        }, { 
         'data': 'UserContact' 
        }] 
       }); 
      } 
     }); 
    }); 
+0

wenn diese dann nicht funktionieren, versuchen Sie dieses Echo json_encode ($ sql_result); ..... für Ihre Antwort warten –

+0

i wie Störung erhalte, Request-Methode: POST Statuscode: 500 Internal Server Error – Dhinakar

+0

nur Echo jsencode in PHP-Datei ..... stellen Sie sicher, dass Sie nichts echo oder es Fehler Ursache url falsch ... Sie können es per Ansicht pagesource überprüfen ... bitte kopieren Sie meinen bearbeiteten Code erneut –

0

Ich glaube, Sie haben Dinge aus, um Sie könnte dies versuchen:

$(document).ready(function() 
{ 
    // Setup - add a text input to each footer cell 
    $('#DataTable tfoot th').each(function() 
    { 
     var title = $(this).text(); 
     $(this).html('<input type="text" placeholder="Search ' + title + '" />'); 
    }); 

    var table = $('#DataTable').DataTable({ 
     "select": true, 
     "processing": true, 
     "serverSide": true, 
     "ajax": { 
      "url": "./ServerSide.php", 
      "type": "POST" 
     } 
    }); 
}); 

Ich bin mir ziemlich sicher, dass Sie nicht einmal die Spaltennamen auflisten müssen, sie werden in Ihrer Datei abgeholt und an die url weitergeleitet.