无法将数据加载到数据表中使用服务器端分页
问题描述:
我试图实现服务器端分页理念,为我的表(jQuery的(v1.12.4),数据表(v1.10.15))无法将数据加载到数据表中使用服务器端分页
按数据表服务器端分页文档
我已经启用Serverside集团,分页,处理真实与指定的sPaginationType与阿贾克斯一起。
在Custom Data Source Property article中,提到我们需要使用dataSrc Option作为字符串来获取来自不同源属性的数据,在本例中为demo,但它可以是任何值,通过使用嵌套属性标准的点状Javascript对象表示法。
我已经根据上述要点使用了dataSrc,即基于我的json响应的“dataSrc”:“data”。
但是数据未被加载。
我的表只载入批准按钮(我已经在列部分中定义)其余列是空的。 - 召集数据不在表格中呈现。
由于我已经使用延期加载第一页返回空数据。请参阅输出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}\]}"
}]
答
就我所见,服务器返回的数据中缺少信息。 DataTables在服务器端模式下运行时需要服务器的某些特定数据(draw
,recordsFiltered
等)。您可以检查here
此外,您应该columns
阵列中的data
属性添加到每个对象,指定您希望在该列来呈现数据,即名称:
columns:[
{ data:'projectId' }
{ data:'subPorjectId'}
...
]
这告诉数据表哪些数据显示在哪一列。
希望它有帮助!
有什么错误?服务器代码? – Sebastianb