code: function ( sUrl, aoData, fnCallback, oSettings ) {
  			oSettings.jqXHR = $.ajax( {
  				"url":  sUrl,
  				"data": aoData,
  				"success": function (json) {
  					$(oSettings.oInstance).trigger('xhr', oSettings);
  					fnCallback( json );
  				},
  				"dataType": "json",
  				"cache": false,
  				"type": oSettings.sServerMethod,
  				"error": function (xhr, error, thrown) {
  					if ( error == "parsererror" ) {
  						oSettings.oApi._fnLog( oSettings, 0, "DataTables warning: JSON data from "+
  							"server could not be parsed. This is caused by a JSON formatting error." );
  					}
  				}
  			} );
  		}
docs: This parameter allows you to override the default function which obtains
  the data from the server ($.getJSON) so something more suitable for your
  application. For example you could use POST data, or pull information from
  a Gears or AIR database.
  @type function
  @member
  @param {string} sSource HTTP source to obtain the data from (sAjaxSource)
  @param {array} aoData A key/value pair object containing the data to send
  to the server
  @param {function} fnCallback to be called on completion of the data get
  process that will draw the data on the page.
  @param {object} oSettings DataTables settings object
  @dtopt Callbacks
  @dtopt Server-side
  
  @example
  // POST data to server
  $(document).ready(function() {
  $('#example').dataTable( {
  "bProcessing": true,
  "bServerSide": true,
  "sAjaxSource": "xhr.php",
  "fnServerData": function ( sSource, aoData, fnCallback ) {
  $.ajax( {
  "dataType": 'json',
  "type": "POST",
  "url": sSource,
  "data": aoData,
  "success": fnCallback
  } );
  }
  } );
  } );