Bir açısal datatable üzerinde sunucu tarafı sayfalama uygulamak çalışıyorum ama aşağıdaki hatayı almaya devam ediyorum:açısal datatables sunucu sayfalandırma
purchasesTable.jade
:Error: You cannot use server side processing along with the Angular renderer!
aşağıdaki ilgili kodu bakınız
.panel.panel-default.userTable
.panel-heading.tableStatementHeader Purchases
.panel-body
div()
table.row-border.hover(datatable='ng', dt-options='purchasesCtrl.dtOptions', dt-columns='purchasesCtrl.dtColumns')
purchasesTable.controller.js
(function() {
'use strict';
angular
.module('app.purchasesTable')
.controller('PurchasesTableController', PurchasesTableController);
PurchasesTableController.$inject = ['envService','$resource', 'DTOptionsBuilder', 'DTColumnBuilder','$http','$state','$stateParams','PurchasesTableService', '$scope'];
function PurchasesTableController(envService, $resource, DTOptionsBuilder, DTColumnBuilder,$http,$state,$stateParams,PurchasesTableService,$scope) {
var vm = this;
activate();
////////////////
function activate() {
vm.id = $stateParams.id;
//STYLE TABLES
vm.dtOptions = DTOptionsBuilder.newOptions()
.withOption('ajax', function(data, callback, settings){
console.log(data);
PurchasesTableService.getData()
.then(function(result){
console.log('THIS', result);
});
})
.withDataProp('data')
.withOption('serverSide', true)
.withOption('processing', true)
.withOption('order', [[0, 'desc']])
.withPaginationType('full_numbers');
vm.dtColumns = [
DTColumnBuilder.newColumn('event_date').withTitle('Event Date'),
DTColumnBuilder.newColumn('title').withTitle('Store'),
DTColumnBuilder.newColumn('reason').withTitle('Reason'),
DTColumnBuilder.newColumn('amount').withTitle('Amount'),
DTColumnBuilder.newColumn('locking_date').withTitle('Locking Date'),
DTColumnBuilder.newColumn('id').withTitle('ID'),
DTColumnBuilder.newColumn('sid').withTitle('SID')
];
}
}
})();
purchasesTable.service.js orada bazı sözdizimi hataları yukarıdaki kodda ama ben ilk sunucu tarafında işleme hatası geçmiş olsun gibi olamaz biliyoruz
(function() {
'use strict';
angular
.module('app.purchasesTable')
.service('PurchasesTableService', PurchasesTableService);
PurchasesTableService.$inject = ['$http'];
function PurchasesTableService($http) {
this.getData = getData;
////////////////
function getData() {
var gaBody = {
'start':0,
'length':10,
'columns[0][data]':1,
'order[0][column]':0,
'order[0][dir]':'desc'
};
var req = {
method: 'POST',
url: 'api/endpoint',
headers: {
'Authorization': 'something something'
},
data: gaBody
};
return $http(req).then(function(resp) {
return resp.data.data;
});
}
}
})();
. Aslında, API son noktasına bir http POST isteği yapıyor ve ng-repeat kullanarak yanıtı gösteriyordum. Bu hatanın ng-repeat nedeniyle atıldığını düşündüm ama bu kodu çıkardıktan ve tablo verisini
.withOption('ajax', etc.
aracılığıyla oluşturmaya çalıştıktan sonra, hata hala atılıyor. Herhangi bir yardım büyük takdir edilecektir. Teşekkür ederim.
Sınır ve ofset parametrelerini nasıl geçirirsiniz? – zygimantus