![](/img/trans.png)
[英]Unable to load server side data using Scroller Extension jQuery Datatable
[英]couldn't load the data to the datatable using server side pagination
我試圖為我的表實現服務器端分頁的概念(jQuery(v1.12.4),datatable(v1.10.15))
根據datatable服務器端分頁文檔
我已經啟用了服務器端 , 分頁 , 加工為真,並與阿賈克斯沿着指定的sPaginationType。
在“ 自定義數據源屬性”文章中 ,提到我們需要使用dataSrc Option作為字符串來從其他源屬性獲取數據,在本例中為demo,但它可以是任何值,包括通過使用嵌套屬性標准的點分Javascript對象表示法。
我已經根據上述要點使用了dataSrc,即基於我的json響應的“ dataSrc”:“ data” 。
但是,尚未加載數據。
我的表僅加載批准按鈕(我已在“列”部分中定義),其余列為空。 -確認數據未在表中呈現。
請參閱輸出2圖像 。
由於我使用了deferLoading,因此第一頁返回空數據。 請參考輸出1圖像。
我已提及以下所有文章
代碼片段如下所示,請幫助
$('#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"
}
});
傑森回應:
[{
"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
等)。 你可以在這里查看
此外,您應該將data
屬性添加到columns
數組中的每個對象,並指定要在該列中呈現的數據的名稱,即:
columns:[
{ data:'projectId' }
{ data:'subPorjectId'}
...
]
這告訴DataTables在哪一列中顯示哪些數據。
希望能幫助到你!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.