首页 > 解决方案 > Pdf、excel、打印按钮在 Laravel 中的 Chrome 上返回数组

问题描述

我试图将数据表(yagra)保存在我的系统上。首先,按钮不显示。在我加入 add Js 之后,它就出现了。

js补充道:

<script src="/vendor/datatables/buttons.server-side.js"></script>

过滤功能(只需添加按钮和dom):

<script type="text/javascript">
  $(document).ready(function(){

      fill_datatable();

      function fill_datatable( dataGender = '', ethnicity = '',area='')
    {
        var dataTable = $('#table_data').DataTable({
            processing: true,
            serverSide: true,
            dom: 
                "<'row'<'col-md-3'l><'col-md-5'B><'col-md-4'f>>" +
                "<'row'<'col-md-12'tr>>" +
                "<'row'<'col-md-5'i><'col-md-7'p>>",
                lengthMenu:[
                  [10,20,25,50,100,-1],
                    [10,20,25,50,100,"All"]
                ],
            buttons: ['colvis','export','print','copy'],
            ajax:{
            url:'/filter-result',
            data:{ dataGender:dataGender,ethnicity:ethnicity,area:area}
            },

              columns: [
                  {
                      data:'id',
                      name:'id'
                  },
                  {
                      data:'Fn',
                      name:'Fn'
                  },
                  {
                      data:'Ln',
                      name:'Ln'
                  }

              ]

          });

      }

但是,结果返回到我在 chrome 上的数据表数组,如下所示:

{"draw":1,"recordsTotal":11,"recordsFiltered":11,"data":[{"id":"1","Age":"62","Gender":"Male","Country":"India","created_at":null,"updated_at":null},{"id":"2","Age":"16","Gender":"Male","Country":"Australia","created_at":null,"updated_at":null},

我想念什么吗?我只是按照这个按钮:

标签: laraveldatatable

解决方案


您可以尝试使用此更改您的过滤器功能

$("#filter").click(function() {
  var table = $("#table_data").DataTable();
  var age = $("#age").val();
  var dataGender = $("#dataGender").val();

  if ($.fn.DataTable.isDataTable("#table_data")) {
    table.destroy();
    $("#table_data").empty();
    var dataTable = $("#table_data").DataTable({
      processing: true,
      serverSide: true,
      ajax: '{{ url('/filter-result') }}',
      data: {
          dataGender: dataGender,
          ethnicity: ethnicity,
          area: area,
          state: state,
          namaDUN: namaDUN
        },
      columns: [
        {
          data: "id",
          name: "id"
        },
        {
          data: "Fn",
          name: "Fn"
        },
        {
          data: "Ln",
          name: "Ln"
        }
      ]
    });
  }
});

推荐阅读