2015-05-05 7 views
5

Sto utilizzando il plug-in dei datatables jQuery con le opzioni ajax e serverSide. I campi documentation specifies inclusi in ogni richiesta. Ce ne sono molti. E la maggior parte non aggiunge nulla al mio caso d'uso. Ecco un breve estratto dei parametri della stringa di query da una richiesta.Elimina i parametri non necessari nella richiesta di dati ajax?

columns[0][data]:0 
columns[0][name]: 
columns[0][searchable]:true 
columns[0][orderable]:true 
columns[0][search][value]: 
columns[0][search][regex]:false 
columns[1][data]:1 
columns[1][name]: 
columns[1][searchable]:true 
columns[1][orderable]:true 
columns[1][search][value]: 
columns[1][search][regex]:false 

Questo va avanti per ogni colonna della tabella. Questo crea una stringa di query molto lunga quando si usano 10 colonne. In effetti, sto correndo nei limiti di lunghezza dell'URL nel mio server web.

Esiste un modo per sopprimere determinate proprietà dall'essere incluse o sopprimere le proprietà vuote o con un valore predefinito? La documentazione non ha alcun modo ovvio per limitare la dimensione della stringa di query.

+0

[https://datatables.net/forums/discussion/6535/simpler-shorter-urls-for-server-side-datatables](https://datatables.net/forums/discussion/6535/ più semplice-shorter-urls-per-lato-server-dati) – markpsmith

risposta

11

Ho trovato un modo decente per risolvere questo problema. Datatables fornisce un metodo integrato per mutare i parametri di query ajax chiamati appena prima di effettuare la richiesta. Puoi specificarlo in questo modo. Nel mio caso, non mi interessa l'intero attributo dell'array columns, quindi lo rimuoverò.

var options = { 
     sDom: "lftip", 
     /* set your options to suit your taste */ 
    }; 

    options.ajax = { 
     url: ajaxUrl, 
     data: function(data) { 
      // manipulate data used in ajax request prior to server call 
      delete data.columns; 
     } 
    }; 

    $el.dataTable(options); 
+0

Grazie funziona, signor @recursive –

Problemi correlati