2

我正在使用 Laravel 5 和Bootgrid Pagination。我打算稍后使用它,所以我正在学习它并玩弄它,但我无法让它发挥作用。在我的浏览器控制台中,我得到

Uncaught TypeError: Cannot read property 'length' of undefined

我不知道是不是我传递的数据格式。

这是html

<table id="grid-data" class="table table-condensed table-hover table-striped" data-toggle="bootgrid" data-ajax="true" data-url="api/deliverytracker">
    <thead>
        <tr>
            <th data-column-id="id" data-identifier="true">ID</th>
            <th data-column-id="sender">Sender</th>
            <th data-column-id="received">Recieved</th>
        </tr>
    </thead>    
</table>

在我的 api/deliverytracker 路线中

Route::any('api/deliverytracker', 'DeliveryTrackerController@deliveryIndexApi');

然后我在 DeliveryTrackerController 中的功能

public function deliveryIndexApi()
{
    $data = array(
        array('id' => '1', 'sender' => '123@test.de', 'received' => '2014-05-30T22:15:00'),
        array('id' => '2', 'sender' => '123@test.de', 'received' => '2014-05-30T22:15:00'),
        );

    return json_encode($data);
}

我错过了什么吗?我试图控制台记录我的 $data 事实证明

[{"id":"1","sender":"123@test.de","received":"2014-05-30T22:15:00"},{"id":"2","sender":"123@test.de","received":"2014-05-30T22:15:00"}]

谢谢!

4

1 回答 1

0

您需要正确返回 JSON。

$data = array(
        "current" => 1,
        "rowCount" => 10,
        "rows" => array(
         array('id' => '1', 'sender' => '123@test.de', 'received' => '2014-05-30T22:15:00'),
         array('id' => '2', 'sender' => '123@test.de', 'received' => '2014-05-30T22:15:00')
         ),
        "total" => 1123
       );

查看官方文档http://www.jquery-bootgrid.com/Examples#data

于 2016-06-02T18:01:32.123 回答