无效的 JSON 响应 Laravel 数据表

Posted

技术标签:

【中文标题】无效的 JSON 响应 Laravel 数据表【英文标题】:Invalid JSON response Laravel Datatable 【发布时间】:2017-09-23 16:37:55 【问题描述】:

我使用 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() 中执行此操作时,在我的控制器中是:

【问题讨论】:

我也有同样的问题,你解决了吗?我收到此错误:DataTables 警告:表 id=users-table - JSON 响应无效。有关此错误的更多信息,请参阅datatables.net/tn/1 检查网络选项卡中的响应是否在第一个数据中包含&lt;?php 【参考方案1】:

我猜应该是:

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

【讨论】:

是的,这似乎合乎逻辑,但我用 get() 得到了相同的结果

以上是关于无效的 JSON 响应 Laravel 数据表的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在 Laravel 中为 foreach 提供无效的参数以进行 json 响应?

jquery数据表中的无效json响应

无效的 JSON 响应 Jquery 数据表

数据表抛出无效的 JSON 响应

无效的 JSON 响应:引导数据表

jquery Datatable 无效 JSON 响应 1 ,数据被检查为有效 json