2017-01-30 7 views
0

Ich bekomme eine Json-Objekt-Antwort vom Server, aber nicht in der Lage, die Daten in Spalten zu rendern. Schätzen Sie Ihre Hilfe.Füllen Sie Daten in Spalten von Datatables

JSON OBJECT RESPONSE: 
{ 
"CHD2": { 
"POSName": "CHANDIGARH INDU. AREA-I", 
"HODB": "QSR_PHASE-I_CHANDIGARH" 
}, 
"D002": { 
"POSName": "DEHRADUN-ASTLEY HALL", 
"HODB": "QSR_DEHRADUN_ASTLEY" 
}, 
"J002": { 
"POSName": "VAISHALI NAGAR", 
"HODB": "QSR_VAISHALI_NAGAR" 
} 
} 

JQUERY SCRIPT

<script> 
    $(document).ready(function() { 
    console.log('Initializing tables...'); 
    var <a href="//legacy.datatables.net/ref#aaData">aaData</a> = []; 
     $('#dataTables-example').DataTable({ 
      responsive: true, 
      processing: true, 
      serverSide: true, 
      data : aaData, 
      ajax: { 
       url:'http://localhost:81/reporting/outletList.php', 
       type:'POST', 
       dataType:'json', 
       dataSrc : "", 
       error: function(errorThrown){ 
        alert(errorThrown); 
        alert("There is an error with AJAX!"); 
       }, 
      "success": function(data) { 
           console.log(data); 
       aaData.push([ 
         data['CHD2'].POSName, 
         data['CHD2'].HODB 
        ]); 
       aaData.push([ 
        data['D002'].POSName, 
        data['D002'].HODB 
       ]); 
       data = aaData; 
       console.log(data); 
      }}, 
      /*columns: [ 
       { data: "POSName"}, 
       { data: "HODB"} 
      ],*/ 
      "language": { 
      "zeroRecords": "No records to display" 
      } 
      }) 
     }); 
    </script> 



<div class="panel-body"> 
    <table width="100%" class="table table-striped table-bordered table-hover" id="dataTables-example"> 
    <thead> 
    <tr> 
    <th>POSName</th> 
    <th>HODB</th> 
    </tr> 
    </thead> 

Noch ist es nicht funktioniert. Die JSON-Objekt-Antwort befindet sich im Entwickler-Tool von Chrome, Daten werden jedoch nicht in der Tabelle angezeigt.

+0

Sie sind Ihren Code sehr komplex, Sie können es in einfacher Weise behandeln .... bitte schreiben Sie Ihre HTML oder auch Ihre DIV oder SPAN Klassennamen, wo Sie Ihre JSON Antwort aktualisieren möchten –

+0

Es ist unklar, wo Sie wollen Anzeige (render) Ihrer Daten Sie möchten vielleicht ein neues HTML-Tabellen-Markup mit Javascript erstellen (mit abgerufenen Daten) und irgendwo auf der Seite anhängen. – misher

+0

Hallo, ich habe den HTML-Code zum Rendern von Daten hinzugefügt. Datat-ID ist # dataTables-example – user3711100

Antwort

0

So etwas sollte funktionieren:

let data = { 
    "CHD2": { 
     "POSName": "CHANDIGARH INDU. AREA-I", 
     "HODB": "QSR_PHASE-I_CHANDIGARH" 
    }, 
    "D002": { 
     "POSName": "DEHRADUN-ASTLEY HALL", 
     "HODB": "QSR_DEHRADUN_ASTLEY" 
    }, 
    "J002": { 
     "POSName": "VAISHALI NAGAR", 
     "HODB": "QSR_VAISHALI_NAGAR" 
    } 
    }, 
    dataArray = []; 

for (let item in data) { 
    let row = { 
    "Name": item 
    }; 
    for (let element in data[item]) { 
    console.log(data[item][element]); 
    row[element] = data[item][element]; 
    } 
    dataArray.push(row); 
} 
console.log(dataArray); 

Sobald das rows getan sollten Sie Ihre Daten darstellen. JSFiddle here arbeiten.

+0

Hallo, Vielen Dank für Ihre Rücksendung. Ich erhalte das dataArray mit 3 Feldern, aber die Tabelle wird nicht ausgefüllt. Es zeigt "Verarbeitung". Können Sie bitte meinen HTML-Code auf Probleme überprüfen. – user3711100

Verwandte Themen