Datatables, как искать и разбивать на страницы на стороне сервера - PullRequest
0 голосов
/ 03 июля 2019

У меня есть Java rest api, который я могу получить в виде страниц, например:

/ allusers? Page = 1 & text = searchkeyword & pageSize = 50

Я пытаюсьреализовать интерфейс, используя таблицы данных (также открытые для других предложений библиотеки) Но, похоже, не могу понять, как мне отправить страницу и выполнить поиск по ключевым словам, используя обработку на сервере Datatables:

Это пример кода с их сайта,как мне передать параметры здесь?Поэтому, когда пользователь нажимает на следующую страницу или ищет ключевое слово, он вызывает соответствующий серверный вызов:

$(document).ready(function() {
  $('#example').DataTable({
    "processing": true,
    "serverSide": true,
    "ajax": "../server_side/scripts/server_processing"
  });
});

1 Ответ

0 голосов
/ 03 июля 2019

Есть несколько вещей, которые вы можете / должны сделать, чтобы настроить нумерацию страниц.

  1. Все ваши столбцы должны содержать хотя бы атрибут «данные»:

    var aoColumns = [ { "mData": "c1-data-attr", "sName": "c1-name-attr", "sClass": "c1-class-attr"}]
  2. Определение dataSrcFunction, которая автоматически получит в качестве параметра JSON с разбитой на страницы таблицей из вашего ответа API. Возвращаемый результат (json.data) должен содержать значения для каждого столбца, определенного в aoColumns значением их атрибута mData.

    var dataSrcFunct = function (json) {
        console.log(json);
        //manipulate your JSON here
        return json.data;
    };
  3. Определение функции errorFunction, которая будет выполняться, когда ответ не в порядке.

Эти параметры будут добавлены в вашу конфигурацию следующим образом:

$('#example').DataTable({
        "processing": true,
        "serverSide": true,
        "ajax": { 
            "url": "/allusers?page=1&text=searchkeyword&pageSize=50",
            "dataSrc": dataSrcFunction,
            "error": errorFunction
        },
        "aoColumns": aoColumns
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...