我试图为我的表实现服务器端分页概念(jQuery(v1.12.4),datatable(v1.10.15))
根据数据表服务器端分页文档
我已将 serverSide ,分页,处理设为true,并将 sPaginationType 与ajax一起指定。
在Custom Data Source Property article中,提到我们需要使用dataSrc Option作为字符串来获取来自不同源属性的数据,在本例中为demo但它可以是任何值,包括嵌套使用标准点缀Javascript对象表示法的属性。
我根据上面的点使用了dataSrc,即“dataSrc”:“data”,基于我的json响应。
但是没有加载数据。
我的表只加载批准按钮(我在列部分中定义)其余列是空的。 - 召集数据不会在表格中呈现。
由于我使用了 deferLoading ,因此第一页返回空数据。参考输出1图像。
我已经提到了以下所有文章
Custom data source property dataSrc and pagination issue
Datatables server side processing pagination issue
代码片段如下所示,请帮忙
$('#vschildtable').DataTable({
"language": {
"processing": "Please
wait - LOADING SCAN Result...", "
emptyTable " : "
Currently no
data found in this project " }, "
bJQueryUI " : true, "
paging " :
true,
"sPaginationType": "full_numbers",
"processing ": true,
"serverSide": true,
"columns": [{
"defaultContent": "",
"visible": false
}, {
"defaultContent": "",
"visible": false
}, {
"defaultContent": ""
}, {
"defaultContent": ""
}, {
"defaultContent": ""
}, {
data: null,
defaultContent: ' <
button type = "button"
class = "btn-approve label label-link bg-green " > Approve < /button>
' } ], "deferLoading" : 57, "ajax" : { "url" : "emppage?empID=" +
encodeURIComponent(empID) + "&projectId=" +
encodeURIComponent(projectID) + "&subProjectId=" +
encodeURIComponent(subProjectID) + "&pageNo=" +
encodeURIComponent(offset),
type: 'POST',
datatype: "jsonp",
"dataSrc": "data"
}
});
Json的回应:
[{
"message":"SUCCESS",
"data":"{\"data\":\[{\"projectId\":1,\"subProjectId\":1,\"empID\":765,\"empName\":\"Arjun\",\"empIDVersion\":\"1%3A4.1.4\",\"fkempID\":7781,\"tmpempID\":354999,\"noOfDept\":1,\"rowNo\":1,\"totalnoOfDept\":1},{\"projectId\":1,\"subProjectId\":1,\"empID\":765,\"empName\":\"Arjun\",\"empIDVersion\":\"4.0.18.1\",\"fkempID\":7781,\"tmpempID\":355000,\"noOfDept\":1,\"rowNo\":2,\"totalnoOfDept\":1},{\"projectId\":1,\"subProjectId\":1,\"empID\":765,\"empName\":\"Arjun\",\"empIDVersion\":\"4.2.1\",\"fkempID\":7781,\"tmpempID\":355001,\"noOfDept\":1,\"rowNo\":3,\"totalnoOfDept\":1}\]}"
}]
答案 0 :(得分:0)
据我所知,服务器返回的数据中缺少信息。在服务器端模式下运行时,DataTables需要服务器提供一些特定数据(draw
,recordsFiltered
等)。您可以查看here
此外,您应该将data
属性添加到columns
数组中的每个对象,指定您希望在该列中呈现的数据的名称,即:
columns:[
{ data:'projectId' }
{ data:'subPorjectId'}
...
]
这告诉DataTables在哪一列中显示哪些数据。
希望它有所帮助!