datatable column filtering with serverside(ajax) doesn’t work

I’m developing with django and javascript with datatable.

I want to apply column filtering in my datatable
(https://datatables.net/extensions/fixedheader/examples/options/columnFiltering.html)

but it works fine without serverside option & ajax (in client side),

but it doesn’t work with serverside option & ajax.

How can i FIX IT? Please help me..T_T

this is my code.

    <table id="sample_table" class="table table-bordered table-hover">
      <thead>
      <tr>
        <th class="sample_id">ID</th>
        <th>date</th>
        <th>serial</th>
        <th>name</th>
        <th>birth</th>
      </tr>
      </thead>
      <tbody id="sample_table_body">
      </tbody>
      <tfoot>
          <tr>
              <th>ID</th>
              <th>date</th>
              <th>serial</th>
              <th>name</th>
              <th>birth</th>
          </tr>
      </tfoot>
    </table>
  </div>
  <!-- /.card-body -->
</div>
var column_list = [
  { "data" : "id" , "className": "sample_id"},
  { "data" : "receiving_at" },
  { "data" : "serialnumber" },
  { "data" : "name" },
  { "data" : "birthday" },
];

$('#sample_table tfoot th').each(function(){
    var title = $("#sample_table thead th").eq( $(this).index() ).text();
    $(this).html('<input type="text" placeholder="Search '+title+'" />' );
});

var sample_table = $('#sample_table').DataTable({
  "paging": true,
  "autoWidth": false,
  "lengthChange": false,
  "ordering": true,
  "processing" : true,  
  "columns": column_list,  
  "order": [ [0, 'desc'] ], 
  "fixedHeader": true,
  "orderCellsTop": true,
  "ajax": {
        url: '/view_datatable/',
        type: 'POST'
  },
  "serverSide" : true, //get data from server
  "initComplete": function() { // column filtering RUN after table loaded .
     $( '#sample_table tfoot input' ).on( 'keyup change clear', function () {
     if ( sample_table.search() !== this.value && this.value.length>0) {
         search_result = sample_table.search( this.value );
         search_result.draw();
     }
   } );
}
});


#view.py
def list_datatable(request, companyname):
    context = {}
    
    if(request.method == "POST"):
        start_page = int(request.POST['start'])
    
        order_direction = request.POST["order[0][dir]"] # direction of ordering(asc, desc)
        order_col_no = request.POST["order[0][column]"] # number of index to sort
        order_col_name = request.POST['columns[' + str(order_col_no) + '][data]'].strip() # name of colum of ordering 


        sample_list_all = Sample.objects.all().order_by(order_col_name)

        sample_list_per_page = []
        for idx, obj in enumerate(sample_list_all[start_page:start_page + 10]):
            data = {}
            data['id'] = obj.id
            data['receiving_at'] = str(obj.receiving_at)
            data['birthday'] = obj.birthday
            data['serialnumber'] = obj.serialnumber
            data['name'] = obj.name
            sample_list_per_page.append(data)

        #-- end of --#

        datalist_to_json = json.dumps(
            {"data": sample_list_per_page, "recordsFiltered": len(sample_list_all), "recordsTotal": len(sample_list_all)}
        ) 
        return HttpResponse(datalist_to_json, content_type="application/json")