# With ajax

You can also fetch the data from a server using an Ajax call.

The `angular-datatables` provides the helper `DTOptionsBuilder.withSource(sAjaxSource)` and the helper `DTColumnBuilder` that lets you build the datatables options for each column.

See the API for the complete list of methods of the helper.

<tabset>

angular.module('datatablesSampleApp', ['datatables']).controller('WithAjaxCtrl', WithAjaxCtrl); function WithAjaxCtrl(DTOptionsBuilder, DTColumnBuilder) { var vm = this; vm.dtOptions = DTOptionsBuilder.fromSource('data.json') .withPaginationType('full_numbers'); vm.dtColumns = [ DTColumnBuilder.newColumn('id').withTitle('ID'), DTColumnBuilder.newColumn('firstName').withTitle('First name'), DTColumnBuilder.newColumn('lastName').withTitle('Last name').notVisible() ]; }

data.json

[{ "id": 860, "firstName": "Superman", "lastName": "Yoda" }, { "id": 870, "firstName": "Foo", "lastName": "Whateveryournameis" }, { "id": 590, "firstName": "Toto", "lastName": "Titi" }, { "id": 803, "firstName": "Luke", "lastName": "Kyle" }, ... ]
</tabset>