首页 > 解决方案 > 如何通过外部请求使服务器端分页适用于数据表

问题描述

标题可能不合适,但我对数据表中的服务器端处理感到困惑,我能够使其工作,但所有数据都是一次加载而不是分页。

我实际上是在向外部 url 发出请求并检索数据而不是从数据库中。因此,一旦向外部 url 发出请求,所有数据都会立即返回,我可以检索例如 8000 的总数。我是将 8000 设置为我的“recordsTotal”,但我不知道为 recordsFiltered 提供什么以及如何计算它。这里的页数是总数据

        $endpoint = "https://41.72.XXX.XX:4300/XXX/XXX/XXXX.xsjs";
        $client = new \GuzzleHttp\Client();
        $response = $client->request('GET', $endpoint);  
        $res = (json_decode($response->getBody(), true));
        $pagecount = count($res['Results']); 

    $dataset = array(
                "draw"=>intval($request->draw),
                "recordsTotal" => intval($pagecount),
                "recordsFiltered"     =>  intval($pagecount),  
                "data" => $arraydata
            );
 echo json_encode($dataset);  

因为我没有从数据库中检索数据,我怎样才能让它工作?我使用 laravel 并通过 ajax 我发送请求。

$('#sapordersTable').dataTable({
            "processing": true,
             "serverSide":true,
            "draw":1,
            "ajax": {
        url: '{{ ('orders') }}',
        type: 'POST',
       },
            "columns": [
                {data: 'CustomerName'},
                {data: 'Customer_Code'},
                {data: 'DocEntry'},
                {data: 'Order_Date'},
                {data: 'Order_Branch'}
            ],
            
        });
    });

标签: phplaraveldatatables

解决方案


推荐阅读