Jquery 如何将当前页码和长度发送到服务器

Jquery 如何将当前页码和长度发送到服务器,jquery,datatable,datatables-1.10,Jquery,Datatable,Datatables 1.10,我遵循DataTable文档并按如下方式实现,数据被重新排序,但分页无法正常工作 在调用ajax之前,当我单击dataTable右下角的页码时,如何获取实际的页码(table.page.info().page),当我更改dataTable左上角的页面长度时,如何获取actulapageSize(table.page.info().length) 例1:当我点击页码“1”时,我得到- Page Number 0 Page Size 10 但应该是这样 Page Number 1 Page Si

我遵循DataTable文档并按如下方式实现,数据被重新排序,但分页无法正常工作

在调用ajax之前,当我单击dataTable右下角的页码时,如何获取实际的页码(table.page.info().page),当我更改dataTable左上角的页面长度时,如何获取actulapageSize(table.page.info().length)

例1:当我点击页码“1”时,我得到-

Page Number 0 Page Size 10 
但应该是这样

Page Number 1 Page Size 10 
示例2:当我将页面长度“10”更改为“25”时,我得到-

但应该是这样

Page Number 0 Page Size 25 
这意味着我落后了一步,请帮助

这是我的html

<table id="allScholarshipResult" class="table table-striped table-bordered" style="width:100%">
        <thead>
        <tr>
            <th>Id</th>
            <th>Scholarship Year</th>
            <th>Scholarship Level</th>
            <th>Total Candidate</th>
            <th>Boy</th>
            <th>Girl</th>
        </tr>
        </thead>

        <tfoot>
        <tr>
            <th>Id</th>
            <th>Scholarship Year</th>
            <th>Scholarship Level</th>
            <th>Total Candidate</th>
            <th>Boy</th>
            <th>Girl</th>
        </tr>
        </tfoot>
    </table>
从API返回的响应

{
  "recordsTotal": 5,
  "recordsFiltered": 5,
  "data": [
    {
      "id": 76,
      "examYear": 2020,
      "scholarshipLevelId": 1,
      "candidateTotal": 0,
      "candidateBoy": 0,
      "candidateGirl": 0
    },
    {
      "id": 75,
      "examYear": 2020,
      "scholarshipLevelId": 1,
      "candidateTotal": 0,
      "candidateBoy": 0,
      "candidateGirl": 0
    },
    {
      "id": 74,
      "examYear": 2019,
      "scholarshipLevelId": 2,
      "candidateTotal": 0,
      "candidateBoy": 0,
      "candidateGirl": 0
    },
    {
      "id": 73,
      "examYear": 2019,
      "scholarshipLevelId": 1,
      "candidateTotal": 0,
      "candidateBoy": 0,
      "candidateGirl": 0
    },
    {
      "id": 72,
      "examYear": 2020,
      "scholarshipLevelId": 2,
      "candidateTotal": 0,
      "candidateBoy": 0,
      "candidateGirl": 0
    }
  ]
}

第一次,您将在服务器中获得的
pageNumber
pageSize
的值将未定义。一旦从服务器获得响应,则将
pageNumber
pageSize
的值设置为表的页码,并且当前时间点的页长将分别为010

现在,每当你点击任何页面,比如说5,你将在服务器上得到0,而不是4

我建议您使用ajax函数中传递的
设置
对象:

$(文档).ready(函数(){
var url='all';
变量表=$('#allScholarshipResult')。数据表({
“处理”:对,
“服务器端”:正确,
“分页”:正确,
“搜索”:{“regex”:true},
ajax:函数(数据、回调、设置){
var api=new$.fn.dataTable.api(设置)//
    $(document).ready(function() {
       var url = 'all';
   var pageNumber;
   var pageSize;
   var table =  $('#allScholarshipResult').DataTable({
          "processing": true,
          "serverSide": true,
          "paging": true,
          "searching": { "regex": true },
          ajax: function ( data, callback, settings ) {

               $.ajax({
                    url: url,
                    type: 'GET',
                    data: {
                         pageNumber: pageNumber,
                         pageSize: pageSize
                    },
                    success: function( response, textStatus, jQxhr ){
                         pageNumber = table.page.info().page;
                         pageSize= table.page.info().length;
                         console.log('Page Number '+pageNumber + ' Page Size ' + pageSize);
                         callback({
                              data: response.responseObject.data,
                              recordsTotal:  response.responseObject.recordsTotal,
                              recordsFiltered:  response.responseObject.recordsFiltered
                         });
                    },
                    error: function( jqXhr, textStatus, errorThrown ){
                    }
               });
          },
          columns: [
               { data: "id" },
               { data: "examYear" },
               { data: "scholarshipLevelId" },
               { data: "candidateTotal" },
               { data: "candidateBoy" },
               { data: "candidateGirl" },
            ]

     });
    } );
{
  "recordsTotal": 5,
  "recordsFiltered": 5,
  "data": [
    {
      "id": 76,
      "examYear": 2020,
      "scholarshipLevelId": 1,
      "candidateTotal": 0,
      "candidateBoy": 0,
      "candidateGirl": 0
    },
    {
      "id": 75,
      "examYear": 2020,
      "scholarshipLevelId": 1,
      "candidateTotal": 0,
      "candidateBoy": 0,
      "candidateGirl": 0
    },
    {
      "id": 74,
      "examYear": 2019,
      "scholarshipLevelId": 2,
      "candidateTotal": 0,
      "candidateBoy": 0,
      "candidateGirl": 0
    },
    {
      "id": 73,
      "examYear": 2019,
      "scholarshipLevelId": 1,
      "candidateTotal": 0,
      "candidateBoy": 0,
      "candidateGirl": 0
    },
    {
      "id": 72,
      "examYear": 2020,
      "scholarshipLevelId": 2,
      "candidateTotal": 0,
      "candidateBoy": 0,
      "candidateGirl": 0
    }
  ]
}