Laravel 5.2和yajra / laravel-datatables-oracle上的JSON响应无效

时间:2016-06-01 09:28:49

标签: laravel datatables

我的问题与Yajra Datatables Package for Laravel deosnt work properly with laravel 5.2

非常相似

我在Chrome上获得了无效的JSON响应,但我无法查看HTTP呼叫响应。

这是我的控制器

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Office;
use Datatables;

class OfficeController extends Controller
{
    public function index()
    {
        return view('offices.index', ['page_title' => 'Jabatan']);
    }

    public function data()
    {
        $offices = Office::select(['id', 'title']);

        return Datatables::of($offices)->make(true);
    }

...

我的剧本

$(function() {
    $('#offices-table').DataTable({
        processing: true,
        serverSide: true,
        ajax: '{!! route('offices.data') !!}',
        columns: [
            { data: 'id', name: 'id' },
            { data: 'title', name: 'title' }
        ]
    });
});

1 个答案:

答案 0 :(得分:0)

首先,你必须检查你的功能究竟返回了什么。所以我建议你像第一次那样修改它

public function data()
{
    $offices = Office::select(['id', 'title']);

    dd(Datatables::of($offices)->make(true));
}

然后在浏览器中转到针对此功能的URL,或使用检查器查看您到达那里的内容。我想这会帮助你弄清楚什么是错的。

如果显示预期结果,请尝试修改您的功能:

public function data()
{
    $offices = Office::select(['id', 'title']);

    return new JsonResponse(Datatables::of($offices)->make(true));
}

别忘了添加

use Illuminate\Http\JsonResponse;
在控制器类定义之前的

语句。