'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 1:[1]

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.

Solution 2:[2]

Firstly check if you are using jquery-3.2.1.slim.min.js, slim version are not supported so remove slim version and replace it with:

<script
  src="https://code.jquery.com/jquery-3.6.0.min.js"
  integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
  crossorigin="anonymous"
></script>

then after if library link is correct check for things like csrf, route, data etc.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 mrcoder
Solution 2 Tyler2P