вызов Datatable ajax-вызова на пользовательской кнопке

Я использовал обработку на стороне сервера https://datatables.net/examples/data_sources/server_side.html

   var table = $("#job-table").DataTable({
            "ajax": {
                url: "<?php echo url('/getJobs');?>",
                type: "POST",
                data: {
                    "connection": connectionArray,
                    "company": companyArray,
                    "type": typeArray
                }
            },
            "processing": true,
            "serverSide": true,
            "columns": [
                { "data": "id" },
                { "data": "job_id" },
                { "data": "type" },
                { "data": "connection_id" },
                { "data": "company_id" },
                { "data": "message" },
                { "data": "total_completion_time" },
                { "data": "date" },
                { "data": "start_time" },
                { "data": "end_time" },
                { "data": "error_time" }
            ]
        });

Я хочу вызвать тот же ajax-вызов с данными после нажатия пользовательской кнопки. На этой пользовательской кнопке я изменил параметры вызова ajax с данными. Есть ли способ вызвать тот же вызов ajax? пожалуйста, помогите мне здесь!


person Progi1990    schedule 17.04.2017    source источник


Ответы (1)


Инициализация данных по документу готова.

$(document).ready(function(){
    var CustomData = 'Value';
    oTable = $('#All_lists').DataTable({
        iDisplayLength:25,
        processing: true,
        serverSide: true,
        ajax: {
            "url": 'your_url',
            "type": "POST",
            "data": function (d) {
                d.key1 = CustomData,
                d.key2 = "Value2" 
            }
        },  
        columns: [
            {data: '0', name: 'branchlists.status'},
            {data: '1', name: 'branchlists.code'},
            {data: '2', name: 'fromBranch.name'},
            {data: '3', name: 'toBranch.name'},
            {data: '4', name: 'branchlists.total_receiept'},
            {data: '5', name: 'branchlists.total_parcels'},
            {data: '6', name: 'branchlists.total_weight'},
            {data: '7', name: 'branchlists.total_amt'},
            {data: '8', name: 'trips.vehicle_id'},
            {data: '9', name: 'print'}
        ],
    });
})

Изменить значение переменной

CustomData = "ChangedValue";

После изменения переменной вам необходимо перезагрузить таблицу данных, вызвав функцию ниже в любом месте

oTable.ajax.reload();
person Bhaumik Pandhi    schedule 17.04.2017
comment
как мы можем использовать данные ответа ajax с данными снаружи? Я хочу использовать один параметр ответа и установить для него значение span! - person Progi1990; 17.04.2017
comment
Я думаю, вы можете использовать функцию обратного вызова инициализации с данными. drawCallback - person Bhaumik Pandhi; 17.04.2017
comment
@ Progi1990, вы нашли решение с функцией обратного вызова? - person Bhaumik Pandhi; 18.04.2017
comment
еще нет! :( думал, что я пробовал метод успеха внутри datatable, но, похоже, он там не работает... Я могу утешить значение или получить его в методе успеха, но datatable показывает обработку с использованием функции drawCallback. Я получаю только данные таблицы, а не параметры который я отправил в ответ! - person Progi1990; 18.04.2017
comment
Вы получаете то, что хотели, ответ AJAX с данными. Что еще вам нужно? - person Bhaumik Pandhi; 18.04.2017
comment
Я вызываю добавленный новый API, нет, я вызываю два разных API вместо вызова одного API :( - person Progi1990; 25.04.2017
comment
как можно было бы вызывать несколько API в datatable? - person Bhaumik Pandhi; 25.04.2017
comment
Я имею в виду, что я написал отдельный вызов ajax для второго API! - person Progi1990; 25.04.2017