Load DataTables options/ columns/ columnDefs with promise

Sometimes, your DataTable options/columns/columnDefs are stored or computed server side. All you need to do is to return the expected result as a promise.

angular.module('datatablesSampleApp') .controller('loadOptionsWithPromiseCtrl', function ($q, $scope, $resource) { $scope.dtOptions = $resource('/angular-datatables/dtOptions.json').get().$promise; $scope.dtColumns = $resource('/angular-datatables/dtColumns.json').query().$promise; });

dtOptions.json 

{ "ajax": "/angular-datatables/data.json", "dom": "pitrfl", "pagingType": "full_numbers" }

dtColumns.json 

[{ "data": "id", "title": "ID" }, { "data": "firstName", "title": "First name" }, { "data": "lastName", "title": "Last name", "visible": false }]