phpjqueryajaxlaravelget-request

Ajax GET request fails in laravel 8


when i try to send a GET request with tutorial ,but its not working and end up with 500 internal server error I cant find any error by searching on forum or stackoverflow,and also i ma beginner, kindly seek your help

here is my view ajax.blade.php

<html>
   <head>
      <title>Ajax Example</title>

      <script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
      </script>

      <script>
      $.ajax({
         type: "GET",
         url: "getmsg",
         success: function(data) {
             console.log(data);
         },
         error: function(data){
             console.log("fail");
         }
        });
      </script>
   </head>

   <body>
   </body>
</html>

here is the controller class

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class aController extends Controller
{
    function index() {
      return response()->json(array('d'=> 'success'));
    }
}


here is web.php Route::get('getmsg',[aController::class,'index']);


Solution

  • Update your route with

    use App\Http\Controllers\aController;
    
    Route::get('/getmsg', [aController::class, 'index']);
    

    Laravel 8 requires you to provide a complete path to the controller or you can define a default namespace to locate your controllers like this, define following in your RouteServiceProvider.php

    protected $namespace = 'App\Http\Controllers';
    

    You should get a response from the controller.