无效的JSON响应Laravel Datatable

时间:2017-04-26 10:21:52

标签: php ajax laravel datatable

我使用laravel 5.2和Yajra Datatable来实现带有ajax的表。我遵循了这个教程:https://datatables.yajrabox.com/但最后我有“无效的JSON响应”,我不知道为什么。

我的控制器:

class ContactController extends Controller
{

public function index()
{

    return view("contacts.list");
}

public function data()
{
    $contacts = Contact::select(array(
             'NOM', 'PRENOM'
        ));

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

我的观点:

<table class="table table-bordered" id="users">
     <thead>
        <tr>
          <th>NOM</th>
          <th>PRENOM</th>
        </tr>
      </thead>
 </table>

<script type="text/javascript">
  var $ = jQuery.noConflict();

  $(document).ready(function() {
    oTable = $('#users').DataTable({
      "processing": true,
      "serverSide": true,
      "ajax": "{{ route('contacts.data') }}",
      "columns": [
        {data: 'NOM', name: 'NOM'},
        {data: 'PRENOM', name: 'PRENOM'}
      ]
    });
  });
</script>

我的路线:

Route::resource('contacts', 'ContactController');
Route::get('contacts/data', ['as' => 'contacts.data', 'uses' => 'ContactController@data']);

的结果
dd(Datatables::of($contacts)->make(true)) 
当我在index()中执行它时,在我的控制器中

是: enter image description here

1 个答案:

答案 0 :(得分:1)

我想它应该是:

return(Datatables::of($contacts->get())->make(true));