jquery DataTables不显示接收到的数据

j7dteeu8  于 2023-04-29  发布在  jQuery
关注(0)|答案(1)|浏览(155)

我创建了一个表,数据处理是从服务器端完成的(FLASK).我需要从GET请求更改为POST,因为表非常大,在某些时候GET请求变得太大了。Flask处理请求并发送回数据,从控制台我看到数据已经收到,但它没有显示在表中,表显示“正在处理”。”一直都是
我指定使用get一切正常。

$(document).ready(function () {
    $('#data tfoot th').each(function () {
        var title = $(this).text();
        $(this).html('<input type="text" class="col-search-input" placeholder="Search"' + title + '"/>');
    });

    var addedRows;
    var MyTable = $('#data').DataTable({
    "pagingType": "full_numbers",
    "dom": 'T<"clear">lfrtip',
    serverSide: true,
    processing:true,
    ajax: {
      url: "{{ url_for('cdf.data') }}",
      type:'POST',
      dataType:"json",
      data:"data"
    },
    "scrollX": true, 
    "scrollY": true,
    
    //paging:false,
    style :"width:100%;",
    fixedColumns :{
      left:4,
      right: 0
    },
    columns: [
    {data: 'counter', name: "counter"},
    ...

response in the console
我尝试更改DataTables的参数,遗憾的是没有结果。

j5fpnvbx

j5fpnvbx1#

在从GET请求更改为POST时,您必须更改参数的获取方式,例如:(Python Flask)

x=request.args.get(f'columns[{i}][search][value]')

我把它们改成:

par = dict(request.form)
x=par[f'columns[{i}][search][value]']

在我的例子中,我没有注意到draw仍然保持原样,并返回空值而不是整数。
之前:

'draw': request.args.get('draw', type=int)

之后:

'draw': parameters['draw']

相关问题