2017-04-26 43 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