2017-04-26 70 views
0

我使用laravel 5.2和Yajra Datatable來實現帶有ajax的表。我遵循這個教程:https://datatables.yajrabox.com/但最後我有「無效的JSON響應」,我不知道爲什麼。無效的JSON響應Laravel Datatable

我的控制器:

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' => '[email protected]']); 

結果的

dd(Datatables::of($contacts)->make(true)) 

在我的控制器,當我做索引()是: enter image description here

+0

我有同樣的問題,你有沒有解決?我得到這個錯誤:DataTables警告:表ID =用戶表 - 無效的JSON響應。有關此錯誤的更多信息,請參閱http://datatables.net/tn/1 – lewis4u

+0

檢查網絡選項卡中的響應是否可能包含第一個數據中的「<?php」 –

回答

0

我想這應該是:

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

是的這似乎符合邏輯,但我有相同的結果用get() – K4tn1x