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.
Dynamic parameter, This one is working for me, seems best solution

```
t = $("#tbl_SearchCustomer").DataTable({
    processing: true,
    serverSide: true,
    info: true,
    ajax: {
        url: '../Data/SearchCustomer',
        data: function (data) {
            data.CustomerCategoryID = $("#CustomerCategoryID").val(); // dynamic parameter
            delete data.columns;
        }
    },
    deferRender: true,
    columns: [
        { "data": "FullName" },            
    ],       
    dom: 'lfrtip'
});

```