Question: I am using [Datatables](http://datatables.net) to display tabular data in my Web application, and have configured it to make use of [server-side processing](http://datatables.net/usage/server-side), i.e. query the server via AJAX for filtered data. I want to filter according to additional parameters that are specific to my application, i.e. corresponding to some user options (f.ex. via a checkbox in the UI). How do I make DataTables pass these additional filter parameters to the server?

Answer: 
**This answer is updated for version 1.10.6** 

This is now can be done using the [ajax](http://datatables.net/reference/option/ajax) option. 

Sample code

```
 $table.dataTable({
            "ajax":  {
                "url": "example.com/GetData",
                "type": "POST",
                "data": function(d) {
                    d.Foo = "bar";
                    d.Bar = "foo";
                    d.FooBar = "foobarz";
                }
            },
            "serverSide":true,
        });

```

Foo, Bar and FooBar will be posted as Form Data as additional parameters along with other existing ones like *draw, start, length,* etc so depending on your server side language you can read them accordingly.

In a real life scenerio, you would probably have a Search button and some input, you can trigger the filtering process by calling 

```
        var table = $table.DataTable();
        table.ajax.reload(); 

```

when the button is clicked.
This worked for me 

```js
$(document).ready(function() {
     table = $('#okmorders').DataTable( {
        // "ajax": 'http://cdpaha2.dev/admin/organizations/okm_orders'
    serverSide: true,
    "paging":   true,
    "searching":  false ,
        // "info":     false,
        "bLengthChange": false,
        // "iDisplayLength":50,
        // "aaSorting": [],
        // "oLanguage": { "sEmptyTable": "No orders present " } ,
        "aoColumnDefs" : [
          { 'bSortable' : false, 'aTargets' : [ 6 ]}
    ],

   //  "fnServerParams": function (aoData) {
   //    aoData.push({name: "includeUsuallyIgnored"});
   //  },
    ajax: {
          url: 'yoururl.json' ,
          type: 'POST',
      data:
      {
       'startDate':function(){return $("#startDate").val(); },
       'endDate': function(){return $("#endDate").val(); } ,
       'placedBy':function(){return $("#placedBy").val(); },
       'customer_po': function(){return $("#customer_po").val(); } ,
       'customer_ref': function(){return $("#customer_ref").val(); }
      }
    },
    } );
```