Datatables - dynamische Spalten

Ich verstehe, dass diese Frage gestellt wurde, bevor, aber meine Variante nicht mit den anderen Antworten.

Habe ich eine json-Daten Quelle in dieser form :

    {
      "columns":[
          {"title":"Store Number","data":"StoreNbr"},
          {"title":"Store Name","data":"StoreName"},
          {"title":"2016-01-01","data":"2016-01-01"},
          {"title":"2016-01-02","data":"2016-01-02"}
      ],
      "data":[
          {"2016-01-01":"51","StoreNbr":"1","StoreName":"Store 1","2016-01-02":"52"}
      ]
  }

Ich bin laden der Daten wie diese :

$("#datatable").DataTable({
            "ajax": {
            "url": "http://myjsonurl-that-produces-above-response",
           "dataSrc": "data"
        },

    "columns": [
       {"title":"Store Number","data":"StoreNbr"},
       {"title":"Store Name","data":"StoreName"},
       {"title":"2016-01-01","data":"2016-01-01"},
       {"title":"2016-01-02","data":"2016-01-02"},
     ],   
     dom: "Bfrtip",
    "bProcessing": true,
    "bServerSide" : true
});

Den oben funktioniert einwandfrei. Was ich brauche, ist das laden der Spalten dynamisch, wie diese :

"columns": $.getJSON($('#datatable').DataTable().ajax.url(), 
           function(json){
              return (JSON.stringify(json.columns));  
           });

Alles was ich bekomme ist ein aDataSource Fehler.
Wenn ich das ausführen .getJSON, was überall sonst in den code bekomme ich die erwartete Antwort, die ich brauche. Irgendwelche Ideen?

Möchte ich diese zu arbeiten, wie es ist vorzugsweise als mein datasource ändert sich ständig, basierend auf Filter ich anwenden, die Auswirkungen auf die json-Quelle, dataset usw.

Update :

Weg wird die Tabelle initialisiert :

<script type="text/javascript"> 
          TableManageButtons.init();

TableManageButtons = function () {"use strict"; return { init: function () { handleDataTableButtons()  } }}();

var handleDataTableButtons = function () {
    "use strict";
    0 !== $("#datatable-buttons").length && $("#datatable-buttons").DataTable({
            "ajax": {
            "url": "http://myjsonurl.php",
.......
Schreibe einen Kommentar