Javascript Datatable发送当前页码
我一直试图通过覆盖名为pgno的变量来将当前页码发送到服务器 这是我的密码:Javascript Datatable发送当前页码,javascript,jquery,laravel,datatable,Javascript,Jquery,Laravel,Datatable,我一直试图通过覆盖名为pgno的变量来将当前页码发送到服务器 这是我的密码: function fill_datatable(status='',pgno='') { var pgno = 0; table = $('.tb_scoin_available').DataTable({ "processing": true, "serverSide": true, "ordering" : false, "info
function fill_datatable(status='',pgno='')
{
var pgno = 0;
table = $('.tb_scoin_available').DataTable({
"processing": true,
"serverSide": true,
"ordering" : false,
"infoCallback": function( settings, start, end, max, total, pre ) {
var api = this.api();
var pageInfo = api.page.info();
pgno = pageInfo.page+1;
return pgno;
},
"ajax":{
"url": base_url+'/adminPath/management_scoin/ajaxGetScoinAvailable',
"type": "POST",
"data":{ _token: csrf_token, status : status,pgno : pgno}
},
"columnDefs": [ { orderable: false} ],
"columns": [
{ "data": "no" },
{ "data": "created_at" },
{ "data": "serial_scoin" },
{ "data": "unit_scoin" },
{ "data": "unit_scoin_desc" },
{ "data": "unit_scoin_sc" },
{ "data": "unit_scoin_idr" },
],
});
}
当我尝试在infoCallback上发出警报时:
alert(pgno)
变量已被覆盖,但当我尝试在后端转储请求时,pgnoPOST会给出如下空结果:
有人可以帮我吗?您可以使用page()函数获取表格页面,而不需要整个“page.info”。最好在Datatable的API中解释: 您试图访问的方法只是获取信息,而不是设置信息。这可能就是它不起作用的原因。查看他们的文档以更好地了解他们的API: 编辑:
您可以通过简单的计算得到当前页面。由于您使用的是服务器端处理,因此您已经有了开始和长度。您只需要执行start/length+1,就可以得到当前的页码。在这里,我不知道当用户单击页码时如何使用触发器将页面传递到后端?您已经拥有了所需的数据;)Datatables为您提供了两个选项:开始和长度。有了这些,你可以这样计算当前页面:data.start/data.length+1ooh,这样我就可以通过这个公式得到后端的当前页面了?data.start/data.length+1没错,伙计。我在我的答案中添加了这一点,以便帮助其他人:)