我正在使用 Angular 数据表(1.10.19)。 ref this for server side angular way
我用 C# 编写了 Web api 来获取所需格式的数据。 通过以下 dtoptions,服务器端工作正常。
dtOptions = {
pagingType: 'full_numbers',
pageLength: 10,
processing: true,
serverSide: true,
orderCellsTop: true,
ajax: (dataTablesParameters: any, callback) => {
this.mainpageservice.GetPaginatedData(this.menuID, this.UserName, dataTablesParameters)
.subscribe(resp => {
this.Module = resp.data;
console.log('serverside', this.Module);
callback({
recordsTotal: resp.recordsTotal,
recordsFiltered: resp.recordsFiltered,
data: [],
});
});
},
现在,我想使用服务器端 Angular 方式数据表显示多个表。所以为了实现这一点,我使用: for multiple datatables
如文档所述,我创建了一个返回数据表设置的函数。但这里ajax调用不起作用。
任何人都可以建议我哪里做错了吗?
private buildDtOptions(menu: number, Username: string): DataTables.Settings {
alert('call');
return {
pagingType: 'full_numbers',
pageLength: 10,
processing: true,
serverSide: true,
orderCellsTop: true,
ajax: (dataTablesParameters: any, callback) => {
console.log(dataTablesParameters);
this.mainpageservice.GetPaginatedData(menu, Username, dataTablesParameters).subscribe(resp => {
this.Module = resp.data;
console.log('serverside', this.Module);
callback({
recordsTotal: resp.recordsTotal,
recordsFiltered: resp.recordsFiltered,
data: [],
});
});
}
};
}
最佳答案
不确定您是否遇到了与我相同的问题,但是当我从“Angular Way”转向“服务器端 Angular way”时,我忘记删除 dtTrigger
来自标记的引用。当我从表标签中删除 [dtTrigger]="dtTrigger"
后,我的世界一切都很好。
关于ajax - Angular 6数据表服务器端ajax请求不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54825997/