2017-01-02 3 views
0

Ich nehme die letzte Version von Jquery Datentabelle.jquery datable letzte Version benutzerdefinierte Parameter

Meine Anwendung verwenden serverseitige Filterung.

Wenn ich versuche, benutzerdefinierte Parameter hinzufügen, bekam ich einen Fehler:

Arbeits Code

oTable = $('#kid_list_table').DataTable({ 
      "processing": true, 
      "serverSide": true, 
      "ajax": { 
       'url': url, 
       "type": "POST", 
       'beforeSend': function (request) { 
        request.setRequestHeader("Authorization", 'Bearer ' + authData.token); 
       } 
      }); 

Ausfallen, wenn benutzerdefinierte Parameter angeben

oTable = $('#kid_list_table').DataTable({ 
      "processing": true, 
      "serverSide": true, 
      "ajax": { 
       'url': url, 
       "type": "POST", 
       'beforeSend': function (request) { 
        request.setRequestHeader("Authorization", 'Bearer ' + authData.token); 
       } 
      }, 
      "data": function (d) { 
       d.extra_search = "test"; 
      }); 

Der Fehler: Typeerror: lesen kann nicht Eigentum 'DT_RowId' von undefined

enter image description here

Wie benutzerdefinierte params Hinzufügen ohne diese Fehler

Dank erhalten!

Antwort

2

Sie müssen die Funktion setzen, die das Datenobjekt innerhalb die Ajax-Funktion manipuliert:

oTable = $('#kid_list_table').DataTable({ 
      "processing": true, 
      "serverSide": true, 
      "ajax": { 
       "url": url, 
       "type": "POST", 
       "data": function (d) { 
        d.extra_search = "test"; 
       }, 
       "beforeSend": function (request) { 
        request.setRequestHeader("Authorization", 'Bearer ' + authData.token); 
       } 
      }); 

Datentabellen Dokumentation: https://datatables.net/reference/option/ajax