Угловые таблицы данных с Ajax Source

Я пытаюсь загрузить данные из источника ajax в angular datatable, но он даже не вызывает вызов ajax.

var analyzer=angular.module('analyzer', ['datatables']);
analyzer.controller('WithAjaxCtrl', WithAjaxCtrl);

            function WithAjaxCtrl(DTOptionsBuilder, DTColumnBuilder) {
                    var vm = this;

                    $scope.dtOptions = DTOptionsBuilder.fromSource('/analyzer/List')

                    $scope.dtColumns = [
                    DTColumnBuilder.newColumn('BuildName').withTitle('Name'),
                    DTColumnBuilder.newColumn('Total').withTitle('Total'),
                    DTColumnBuilder.newColumn('Passed').withTitle('Passed'),
                    DTColumnBuilder.newColumn('Failed').withTitle('Failed')

                ];
            }

Вот html-код таблицы:

<div ng-controller="WithAjaxCtrl">
     <table datatable="" dt-options="dtOptions" dt-columns="dtColumns" class="row-border hover"></table>
</div>

данные из источника ajax находятся в форме -

{"responseCode":0,"responseData":[{"Name":"Rob","Total":6273,"Passed":5874,"Failed":399}]}

Так мне придется определить datasrc?


person matrixguy    schedule 16.08.2016    source источник


Ответы (1)


Да, вам нужно указать dataSrc, так как ваши строки содержатся в responseData, а не в свойстве data по умолчанию или ожидаемом. В angular dataTables есть установщик параметров с именем withDataProp() :

$scope.dtOptions = DTOptionsBuilder.fromSource('/analyzer/List')
  .withDataProp('responseData')

Нельзя ссылаться напрямую, но посмотрите на https://l-lin.github.io/angular-datatables/#/api

person davidkonrad    schedule 16.08.2016