我正在尝试将角度数据表与服务器端处理一起使用。但是,似乎 angular-datatables 期望来自服务器的数据采用对象格式(描述的对象与数组数据),列名位于每个表数据点之前。我想将 angular-datatables 配置为接受基于数组的数据,因为我无法修改仅以数组格式输出数据的服务器端输出。
我在我的 javascript 中配置数据表,如下所示:
var vm = this;
vm.dtOptions = DTOptionsBuilder.newOptions()
.withOption('ajax', {
url: 'output/ss_results/' + $routeParams.uuid,
type: 'GET'
})
.withDataProp('data')
.withOption('processing', true)
.withOption('serverSide', true);
我来自服务器的数据以数组格式如下所示:
var data = [
[
"Tiger Nixon",
"System Architect",
"$3,120"
],
[
"Garrett Winters",
"Director",
"$5,300"
]
]
但据我所知,angular-datatables 期望对象格式的数据如下:
[
{
"name": "Tiger Nixon",
"position": "System Architect",
"extn": "5421"
},
{
"name": "Garrett Winters",
"position": "Director",
"extn": "8422"
}
]
我尝试不定义 dtColumns 或将其设置为空数组,vm.dtColumns = [];
但是当我这样做时收到错误消息。当我配置 dtColumns 并承诺通过 ajax 加载列数据时,我收到数据表错误 #4,因为它在从服务器检索的数据中找不到我的表数据点之前的列名。
是否可以配置角度数据表以接受基于数组的数据?我在angular-datatables 网站 上找不到任何表明可以以这种方式配置的内容。
编辑:所以我删除了.withDataProp('data')
我认为导致问题的那个。这张桌子现在工作得更好了,但它仍然坏了。加载后,我收到消息No matching records found
。即使在它的正下方它说Showing 1 to 10 of 60,349 entries
Previous1…456…6035Next
有谁知道这可能是为什么?