我有一个带有页面和大小参数的 REST 端点:
在本例中,它返回第一页,每页有 10 条记录。
现在,我想使用DataTables,并在 StackOverflow 上找到了这个示例,我可以在其中将数据从 REST 响应添加到表中。
但是,通过这种方式,我将所有数据添加到表中。我希望能够每页添加数据页,并对每页的端点页发出请求。例如,在页面加载时,我对该页面发出 REST 请求。当我点击第二页时,我再次请求该页的数据。
有什么方法可以在 DataTables 中做到这一点?
我有一个带有页面和大小参数的 REST 端点:
在本例中,它返回第一页,每页有 10 条记录。
现在,我想使用DataTables,并在 StackOverflow 上找到了这个示例,我可以在其中将数据从 REST 响应添加到表中。
但是,通过这种方式,我将所有数据添加到表中。我希望能够每页添加数据页,并对每页的端点页发出请求。例如,在页面加载时,我对该页面发出 REST 请求。当我点击第二页时,我再次请求该页的数据。
有什么方法可以在 DataTables 中做到这一点?
这应该有效:
function fnGetKey( aoData, sKey ){
for ( var i=0, iLen=aoData.length ; i<iLen ; i++ ){
if ( aoData[i].name == sKey )
return aoData[i].value;
}
return null;
}
$('#example').dataTable( {
"bServerSide" : true,
"sAjaxSource" : "http://someservice.com/api/accounts/10/0", //first page
"sPaginationType": "two_button",
"fnServerData": function ( sSource, aoData, fnCallback ) {
var startIndex = fnGetKey(aoData, "iDisplayStart")
var length = fnGetKey(aoData, "iDisplayLength")
sSource="http://someservice.com/api/accounts/"+length+"/"+(startIndex/length + 1)
$.getJSON( sSource, aoData, function (json) {
fnCallback(json)
} );
}
});
因此,当您单击下一页或上一页时,您需要计算您现在所在的页面,并通过更改源来做一个技巧。