Opzione 1 - Utilizzare l'evento preXhr.dt.
table = $('#example')
.on('preXhr.dt', function (e, settings, data) {
data.whateveryouwant = $("#someidhere").val()
data.anotherexample = "kittens"
})
// then just setup your datatable as normal
.DataTable({
ajax:{
url: "/url/getTableData",
type: "GET" // This is the default value, could also be POST
},
sortClasses: false,
paging: false,
scrollY: 300,
columns: cols
});
Vedi qui http://datatables.net/reference/event/
Opzione 2 (preferito) - Utilizzare una funzione ajax.data.
table = $('#example').DataTable({
ajax:{
url: "/url/getTableData", // Change this URL to where your json data comes from
type: "GET", // This is the default value, could also be POST, or anything you want.
data: function(d) {
d.whateveryouwant = $("#someidhere").val()
d.anotherexample = "kittens"
}
},
sortClasses: false,
paging: false,
scrollY: 300,
columns: cols
});
Entrambe le opzioni producono risultati identici. Il tuo server non conoscerà la differenza. I dati aggiuntivi verranno aggiunti su ogni table.ajax.reload()
. I dati aggiuntivi saranno:
whateveryouwant
di con valore dell'elemento #someidhere
, e
anotherexample
con il valore "kittens"
preferisco il Opzione 2, perché è più evidente che i dati in più è di essere aggiunto su ogni richiesta. La prima opzione è un po 'subdolo e non così ovvio per qualcun altro che legge il tuo codice, penso.
Hai letto la documentazione? Sembra che tu possa utilizzare uno di questi diritti prima di ricaricare: http://datatables.net/reference/api/ajax.url() e http://datatables.net/reference/option/ajax.data – Ian
ho fatto leggi la documentazione, ma non sono riuscito a trovare la risposta. Non volevo cambiare l'URL, solo i parametri. E non sono sicuro che usare l'url come mi hai suggerito mi aiuti in tal senso, sebbene sia, in effetti, una soluzione. – BMF
A seconda di cosa intendevi per "alcuni parametri", la modifica dell'URL era un'opzione (aggiungendo una querystring). Ma se volessi passare i dati nel corpo di una richiesta POST, allora usa il mio secondo link (http://datatables.net/reference/option/ajax.data) - Sono abbastanza sicuro che sia un esempio migliore del la risposta è stata accettata, e sembra essere esattamente ciò che stai cercando di fare, non una soluzione hacky ad esso – Ian