2017-01-22 2 views
0

Ich habe eine Datentabelle, die ich über Ajax laden werde. in der Server-Seite ich prewering die Daten für die Tabelle und bereiten Sie eine andere Daten für eine andere Sache Ich möchte, neben dem Tisch zu laden, eine andere Sache mit den anderen Daten, die ich vorbereitet habe , so dass ich meine Ajax-Code hinzugefügt ein Erfolgsereignis, aber es ersetzt das Laden der Tabelle und ich kann nur die andere Sache tun Ich kann nicht zwischen dem Laden der Tabelle und der anderen Sache trennen, weil sie verbunden sind, die andere Sache wird von der Tabelle beeinflusst wird geladen (Änderungen)Tun Sie etwas neben der Belastungstabelle

ich habe auch versucht fnDrawCallback, aber ich weiß nicht, wie die Daten der anderen Sache passiert Hier ist der Ajax-Code mit Erfolg Event:

"ajax": { 
     "url": "/Entreaties/GetEntreaties", 
     "data": function (d) { 
      d.status = 0; 
      d.firstLoad = firstLoad;     
      d.jAdvanceSearch = JSON.stringify(new AdvanceSearch()); 
      d.freeText = $("#table_filter input").val(); 
     }, 
     "type": "POST", 
     "dataType": "json", 
     success: function (data) { 
      $.each(data.contactWaySum, function (key, value) { 
       alert(key + ": " + value.ContactWay); 
      });     
     }, 
     error: function (xhr, textStatus, errorThrown) { 
      console.log(xhr.responseText); 
     } 
    }, 

Vielen Dank für Ihre Hilfe

Antwort

0

Wenn ich Sie richtig verstehe, Sie verwendet die integrierte DataTable Ajax aber gestoppt, weil Sie mehrere Dinge gleichzeitig tun wollten. Ist dies der Fall, kehren Sie zur Verwendung des DataTable-Ajax zurück und verwenden Sie die Funktion dataFilter, um sie voneinander zu trennen und anzuwenden. Hier

ein Beispiel:

// If your server side sends back somehting that looks like this for the data table (this is what it is expecting) 

      {draw:1, recordTotal:20, recordsFilter:20, data:dataSet } 

      // adjust your json to look like 


      // If the json object return looks like what the 
      { dataTableData:{draw:1, recordTotal:20, recordsFilter:20, data:dataSet }, otherStuffData: otherData} 

      $("#sometable").DataTable({ 
       // other data table stuff left out to save space 
       "serverSide": true, 
       "ajax": { 
        "url": "you url" , 
        "data": function (ssp) { 
         // Do the stuff you need to to get your paramerters ready 
         // server side parameters (ssp) are documented at http://datatables.net/manual/server-side 
         // in addition to the ssp parameters, the name of the column is pulled from the table header column 


         return ssp; 

        }, 
        type: "POST", 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        error: function (a, b, c, d) { debugger; }, 
        dataFilter: function (data) { 

         // call function or what ever you need to do with the other data here 

         doOtherStuff(data.otherStuffData); 

         // the web method returns the data in a wrapper 
         // so it has to be pulled out and put in the 
         // form that DataTables is expecting. 

         //return just the datatable data here 
         return JSON.stringify(data.dataTableData); 
        } 
       } 
      }); 
Verwandte Themen