So senden Sie die aktuelle Seitenzahl im Ajax-request

Ich bin mit jQuery-DataTable-Anzeige riesige Menge von Daten in einer Tabelle. Ich bin immer Daten seitenweise auf Ajax-Anfrage so:

var pageNo = 1;
$('#propertyTable').dataTable( {
    "processing": true,
    "serverSide": true,
    "ajax": "${contextPath}/admin/getNextPageData/"+pageNo+"/"+10,
    "columns": [
        { "data": "propertyId" },
        { "data": "propertyname" },
        { "data": "propertyType" },
        { "data": "hotProperties" },
        { "data": "address" },
        { "data": "state" },
        { "data": "beds" },
        { "data": "city" },
        { "data": "zipCode" }
    ],
    "fnDrawCallback": function () {
        pageNo = this.fnPagingInfo().iPage+1;
        alert(pageNo); //this alerts correct page
     }
} );

und hier ist der Frühling controller:

@RequestMapping(value="/getNextPageData/{pageNo}/{propertyPerPage}")
public @ResponseBody PropertyDatatableDto getNextPageData(@PathVariable Integer pageNo, @PathVariable Integer propertyPerPage) {
    System.out.println("called");
    System.out.println(pageNo); //this always prints 1, what i need is current pageNo here


    PropertyDatatableDto datatableDto = new PropertyDatatableDto();
    //datatableDto.setDraw(1);
    datatableDto.setRecordsTotal(100);
    datatableDto.setRecordsFiltered(100);
    datatableDto.setData(adminService.getAllPropertyList());
    return datatableDto;
}

Das problem ist, dass wenn ich die Seite in die Tabelle alerts richtige pageNo auf der Seite (in JavaScript), aber im Frühjahr controller bin ich immer der erste Wert der Variablen zugewiesen pageNo und nicht die aktuelle Seite Anzahl.

Wie gebe ich pageNo dynamisch auf den Frühling-controller? Jede Hilfe ist willkommen.

Edit:

Ich aktualisiert JavaScript so:

    var oSettings = $('#propertyTable').dataTable().fnSettings();
    var currentPageIndex = Math.ceil(oSettings._iDisplayStart / oSettings._iDisplayLength) + 1; 

$('#propertyTable').dataTable({
    "processing": true,
    "serverSide": true,
    "ajax": "${contextPath}/admin/getNextPageData/"+currentPageIndex+"/"+10,
    "columns": [
        { "data": "propertyId" },
        { "data": "propertyname" },
        { "data": "propertyType" },
        { "data": "hotProperties" },
        { "data": "address" },
        { "data": "state" },
        { "data": "beds" },
        { "data": "city" },
        { "data": "zipCode" }
    ]
});

Aber es gibt mir eine Fehlermeldung:

DataTables warning: table id=propertyTable - Nicht reinitialisiert DataTable.

InformationsquelleAutor Narendra | 2015-06-22
Schreibe einen Kommentar