Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

glasstream2000's avatar

Ajax and Datatables

I'm getting a 500 (Internal Server Error) when trying to load the page. Maybe other eyes might see what I did wrong...

Controller

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Listing;
use Datatables;
use Yajra\DataTables\EloquentDataTable;

class AjaxdataController extends Controller
{
   function dataAdmin()
   {
       return view('ajaxdata');
   }
    
    function getData()
    {
        $listing = Listing::select('id', 'name');
        //$listing = new EloquentDataTable($query);
        
        return Datatables::of($listing)->make(true);
    }
}

ajaxdata blade file

<!DOCTYPE html>
<html>
<head>
    <title>Datatables Server Side Processing in Laravel</title>
    <meta name="csrf-token" content="{{ csrf_token() }}">
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
    <script src="https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script>
    <script src="https://cdn.datatables.net/1.10.12/js/dataTables.bootstrap.min.js"></script>       
    <link rel="stylesheet" href="https://cdn.datatables.net/1.10.12/css/dataTables.bootstrap.min.css" />
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
    
</head>
<body>

<div class="container">
    <br />
    <h3 align="center">Datatables Server Side Processing in Laravel</h3>
    <br />
    <table id="student_table" class="table table-bordered" style="width:100%">
        <thead>
            <tr>
                <th>First Name</th>
                <th>Last Name</th>
            </tr>
        </thead>
    </table>
</div>

<script type="text/javascript">
$(document).ready(function() {
    $.ajaxSetup({
  headers: {
    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  }
});
    
     $('#student_table').DataTable({
        "processing": true,
        "serverSide": true,
        "ajax": "{{ route('ajaxdata.getData') }}",
        "columns":[
            { "data": "id" },
            { "data": "name" }
        ]
         
     });
    
});
    
</script>
</body>
</html>

Route

Route::get('ajaxdata', 'AjaxdataController@dataAdmin')->name('ajaxdata');
Route::get('ajaxdata/getData', 'AjaxdataController@getData')->name('ajaxdata.getData');

Listing Model

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Listing extends Model
{
    public function user()
    {
        return $this->belongsTo('App\User');
    }
}
0 likes
3 replies
D9705996's avatar

Can you please share the log entry from storage/logs/laravel.log that is created when you get the 500 error.

glasstream2000's avatar

Here is the last few:

#47 C:\inetpub\wwwroot\ConsultantLogs\CLogs\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#48 C:\inetpub\wwwroot\ConsultantLogs\CLogs\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode.php(62): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#49 C:\inetpub\wwwroot\ConsultantLogs\CLogs\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(151): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#50 C:\inetpub\wwwroot\ConsultantLogs\CLogs\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#51 C:\inetpub\wwwroot\ConsultantLogs\CLogs\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(104): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#52 C:\inetpub\wwwroot\ConsultantLogs\CLogs\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(151): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#53 C:\inetpub\wwwroot\ConsultantLogs\CLogs\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#54 C:\inetpub\wwwroot\ConsultantLogs\CLogs\public\index.php(55): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#55 {main}
"} 
D9705996's avatar

@glasstream2000 - You will need to provide the top entries of the log which will start with a date/time e.g. When I tried to run php artisan foobar I get

[2018-10-16 07:25:50] local.ERROR: Command "foobar" is not defined. {"exception":"[object] 

Please or to participate in this conversation.