首页 > 解决方案 > Laravel 数据表 - 无效的 JSON 响应

问题描述

我有以下在使用 Laravel 数据表时返回无效的 JSON 响应。

路线

Route::get('/products', 'ProductController@index')->name('products');
Route::get('/getproducts', 'ProductController@getProducts')->name('getProducts');'

控制器

public function index()
{   
    return view ('backend.products.home');
}

public function getProducts()
{
    return Datatables::of(Product::query())->make(true);
}

看法

<table id="myTable">
    <thead>
        <tr>
            <th>Product</th>
            <th>Manufacturer</th>
            <th>Price</th>
        </tr>
    </thead>
</table>

脚本

<script>
  $(function() {
    $('#myTable').DataTable({
      processing: true,
      serverSide: true,
      ajax: '{!! route('getProducts') !!}',
      columns: [
        { data: 'product_name', name: 'product_name' },
        { data: 'manufacturer', name: 'manufacturer' },
        { data: 'price', name: 'price' },
       ]
   });
});
</script>

当我返回Datatables::of(Product::query())->make(true)产品视图时,我得到的 JSON 如下所示: 在此处输入图像描述

标签: laravel

解决方案


尝试这个:

 return Datatables::of(Product::query()->select('*'))->make(true);

或者:

return Datatables::of(Product::query()->get())->make(true);

推荐阅读