Таблицы данных jQuery отправляют параметр поиска JSON - PullRequest
0 голосов
/ 04 марта 2019

Я загружаю данные.Я хочу отправить JSON, который имеет 3 параметра, который будет параметром поиска для загрузки данных.Я не могу отправить параметр поиска json через datatable, но с вызовом ajax это работает.Вызов Ajax использовался для демонстрации работ по выходным дням.

var bankReconFD = new FormData();
var searchData = {};

searchData.account = $('[name="bankCoa"]').val();
searchData.fromDate = $('[name="reconFromDate"]').val();
searchData.toDate = $('[name="reconToDate"]').val();        
console.log('the search data is :',JSON.stringify(searchData));

bankReconFD.append("bankReconFD", JSON.stringify(searchData));

Затем я отправляю этот параметр json во внутреннюю часть начальной загрузки java для загрузки данных

reconGetDataTable = $('#bankReconDataListing').DataTable({
    "language": __DT,
    "select": true,
    "order": [[1, "desc"]],
    "searchable": true,
    "destroy": true,
    "sAjaxSource": '/bankReconciliationGetData/' + bankReconFD,
    "sAjaxDataProp": "",
    "bLengthChange": false,
    "pageLength": 20,
    "aoColumns": [
    ],
    "columnDefs": [
        {
            "targets": [0, 1, 2, 3, 4, 5, 6],
            "className": "text-center"
        }
    ],
    "initComplete": function(){
        initiateDatatablesModifications();
    }
}); 

Я получаю следующую ошибку:

{"timestamp":1551687850311,"status":404,"error":"Not Found","message":"No message available","path":"/bankReconciliationGetData/[object%20FormData]"}

Хорошо работает следующее

var bankReconFD = new FormData();
var searchData = {};
searchData.account = $('[name="bankCoa"]').val();
searchData.fromDate = $('[name="reconFromDate"]').val();
searchData.toDate = $('[name="reconToDate"]').val();        

bankReconFD.append("bankReconFD", JSON.stringify(searchData));

$.ajax({
    type: 'POST',
    url: '/bankReconciliationGetData',
    data: bankReconFD,
    contentType: false,
    processData: false,
    success: function (data) {
        alert('successs');
    },
    error: function (data) {

    },
});

1 Ответ

0 голосов
/ 05 марта 2019

Привет, ты можешь сделать это следующим образом:

exampleTable = $('#exampleTable').DataTable();
if ($.fn.DataTable.isDataTable("#exampleTable")) {
    exampleTable.destroy();
    $('#exampleTable tbody').remove();
} // check if table exist and destroy previous data set

//create the dataTable
exampleTable = $('#exampleTable').DataTable({
         "destroy": true,
         "responsive":{
           "details": {
           renderer: function ( api, rowIdx, columns ) {
             var data = $.map( columns, function ( col, i ) {
               return col.hidden ?
                 '<tr data-dt-row="'+col.rowIndex+'" data-dt-column="'+col.columnIndex+'">'+
                   '<td>'+col.title+':'+'</td> '+
                   '<td>'+col.data+'</td>'+
                 '</tr>' :
                 '';
             } ).join('');
             ///the render helps to wrap the columns when responsive mode is on if you want to use it download datatbles.responsive.js
             return data ?$('<table/>').append( data ) :false;
           }
         }
       },
         "autoWidth": false,
               "ajax": {
                   "url": 'yourURL',
                   "method": 'POST',
                   data:{action:id} // put your parameters here
               },
               "columns": [
                   {"data": "id"},
                   {"data": "fullname"},
                   {"data": "address"},
                   {"data": "company"},
                   {"data": "Cars"},
                   {
                className: "center",
                defaultContent:"<a name='idClient' class='btn btn-info' ><span class='glyphicon glyphicon-list-alt'></span> Show Cars Info</a>"
              }
               ],
               "language":{"url": "//cdn.datatables.net/plug-ins/1.10.15/i18n/Spanish.json"},
                 "columnDefs": [
                   {
                     "className": "dt-center", "targets": "_all"
                    }
                 ]
           }
         );//end get table

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...