2017-07-26 2 views
0

ich einen Ajax-Aufruf verwenden, um die JSON Informationen von meinem Server abzurufen:Kann nicht bekommen Tables Tabelle von json mit Daten laden

console.log('GOT IT'); 
/* attach a submit handler to the form */ 
$('#search-form').submit(function(event) { 

    /* stop form from submitting normally */ 
    event.preventDefault(); 

    /* get the action attribute from the <form action=''> element */ 
    var form = $(this), 
    url = form.attr('action'); 


    var data = $('form#search-form').serialize() 

    /* Send the data using post with element id name and name2*/ 
    var posting = $.post(url, data, datype = 'json'); 

    /* Alerts the results */ 
    posting.done(function(data) { 
    $('#results-table').dataTable({ 
     ajax: data 
    }); 
    }); 
}); 

Die Daten selbst ist ein JSON-String Rückkehr von meinem Server in diesem Format :

{ 
    "success":true, 
    "result":[{"salutationtype":"Ms.","firstname":"Jennifer","contact_no":"CON1","phone":"","lastname":"Gale" 
} 

ich dachte, ich könnte müssen die dataSrc zu ‚Ergebnis‘ ändern, aber das hat nicht funktioniert. Ich habe auch versucht, die JSON mit $.jsonParse() und JSON.parse() zu analysieren und es dataTables als ein Objekt anstelle einer JSON-Zeichenfolge zu füttern, aber keiner funktionierte.

+0

erhalten Sie Antwort in 'Daten' var? –

+0

versuchen, Daten mit data.result – gaetanoM

+0

zu ändern versuchen Sie dieses. '$ ('# Ergebnisse Tabelle') Datatable ({ aaData: data });' –

Antwort

0

Versuchen Sie unter Lösung. Dies ist nur ein Beispiel.

$('#results-table').dataTable({ 
         "bFilter": false, 
         "bRetrieve": false, 
         "bSortClasses": false, 
         "bLengthChange": true, 
         "bPaginate": true, 
         "bAutoWidth": true, 
         "aaSorting": [], 
         "aaData": data, 
         pagingType: "full_numbers", 
         scrollCollapse: false, 
         "sScrollX": true, 
         "autoWidth": true, 
         bAutoWidth: false, 
         responsive: true, 
         stateSave: true, 
         sDom: 'R<"data-table-wrapper"rt><"bottomside"ilp>', 
         "drawCallback": function(settings) { 
         }, 
         "aoColumns": [ 
          { 
           "sTitle": '<input type="checkbox" class="radio_select hathi">', 
           "mData": null, 
           "bSortable": false, 
           "render": function(obj) { 
            return '<input name="outcomes_chk" id="checkbox_class" type="checkbox" value="' + obj.id + '" class="radio_select madaniyu ">' 
           } 
          }, 
          { 
           "sTitle": "Name", 
           "mData": null, 
           "render": function(obj) { 
            return '<input type="text" data-name="name[]" class="required form-control input-sm font-body-size readonly transparent edit no-border" value="' + obj.name + '" >' 
           } 

          } 
         ] 
        }); 

In aoColumns setzen Sie Ihre Spalten.

0

Ich empfehle Ihnen, Ihre folgende Zeile

ändern
var data = $('form#search-form').serialize() 

zu

var formdata = $('form#search-form').serialize(); 
/* Send the data using post with element id name and name2*/ 
var posting = $.post(url, formdata, datype = 'json'); 

Sie Variablenname Daten und Ihre param name ist auch Daten, und es gibt eine fehlt Semikolon in der gleichen Linie;