我希望避免执行许多较小的查询,并执行一次从服务器获取1000行的查询,并在每页上对其进行50分页。如何使第21页呈现新查询以获得接下来的20页?
这也意味着订购列也需要新的服务器端请求。
答案 0 :(得分:0)
在服务器端处理模式下使用jQuery DataTables时可以缓存一定数量的页面,请参阅Pipelining data to reduce Ajax calls for paging。
来自description:
此示例显示了一种通过缓存比每次绘制所需的数据更多的数据来减少对服务器进行的Ajax调用的技术。这是通过拦截Ajax调用并通过数据缓存控制来路由它来完成的。使用缓存中的数据(如果可用),如果没有则发出Ajax请求。
有一些配置选项允许您配置一次可以检索的页数,请参阅pages
属性:
// Configuration options
var conf = $.extend( {
pages: 5, // number of pages to cache
url: '', // script url
data: null, // function or object with parameters to send to the server
// matching how `ajax.data` works in DataTables
method: 'GET' // Ajax HTTP method
}, opts );