// DATA_TEMPLATE: empty_table oTest.fnStart( "fnServerData for Ajax sourced data" ); $(document).ready( function () { var mPass; oTest.fnTest( "Argument length", function () { $('#example').dataTable( { "sAjaxSource": "../../../examples/examples_support/json_source.txt", "fnServerData": function () { mPass = arguments.length; } } ); }, function () { return mPass == 3; } ); oTest.fnTest( "Url", function () { $('#example').dataTable( { "bDestroy": true, "sAjaxSource": "../../../examples/examples_support/json_source.txt", "fnServerData": function (sUrl, aoData, fnCallback) { mPass = sUrl == "../../../examples/examples_support/json_source.txt"; } } ); }, function () { return mPass; } ); oTest.fnTest( "Data array", function () { $('#example').dataTable( { "bDestroy": true, "sAjaxSource": "../../../examples/examples_support/json_source.txt", "fnServerData": function (sUrl, aoData, fnCallback) { mPass = aoData.length==0; } } ); }, function () { return mPass; } ); oTest.fnTest( "Callback function", function () { $('#example').dataTable( { "bDestroy": true, "sAjaxSource": "../../../examples/examples_support/json_source.txt", "fnServerData": function (sUrl, aoData, fnCallback) { mPass = typeof fnCallback == 'function'; } } ); }, function () { return mPass; } ); oTest.fnComplete(); } );