Перезагрузка Ajax Datatable с параметром POST при клике - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть данные, подобные этим.

var table = $('#rep-ship-plan');
    var target = table.attr('data-table');
    var fDate = $("#fRange").val();
    var tDate = $("#sRange").val();
    var BuyerCode = $("#Buyer").val();
    var oTable = table.on( 'processing.dt', function ( e, settings, processing ) {
            if (processing) {
                $(this).find('tbody').addClass('load1 csspinner');
            } else{
                $(this).find('tbody').removeClass('load1 csspinner');
            };
        } ).DataTable({
            "bServerSide": true,
            "scrollY": "200px",
            "scrollCollapse": true,
            "paging": false,
            "ajax": {
                "url" : host+"datatables",
                "type": "POST",
                "data" :{
                           target: target
                        }
            },
            "columnDefs": [{
                "targets": [ 0 ],
                "className": "details-control",
            }],
            "fnDrawCallback": function(oSetting) {
              $('.currency').formatCurrency({symbol: ''});
            }
        });

Но моя проблема в том, что я хочу перезагрузить свою таблицу с данными POST, когда я нажимаю кнопку поиска.Как отправить сообщение в ajax или как перезагрузить мой ajax с моими новыми POST данными (входными данными) ??

ПРИМЕЧАНИЕ. Я использую причину POST, если я использую GET, чтобы сделать длинный URL,и мой сервер не может его удержать (у меня есть 42 столбца в таблицах данных)

1 Ответ

0 голосов
/ 28 ноября 2018

Прикрепите прослушиватель событий к кнопке поиска

$('#searchButtonId').on('click', function(){});

И поместите в свою функцию обратного вызова щелчка Метод перезагрузки DataTable, когда ваши данные публикуются

datatable.ajax.reload();

Что-то в этом роде

$('#searchButtonId').on('click', function () {
        //Grab necessary data and put it into variable 'data'
        $.post('/url/to/script/updating/DataTable/source', {
            data: //your data here
        }, function () {
            //Do your stuff on successfully POSTed data
            //Refresh your DataTable
            datatable.ajax.reload();
        });
    });
...