به راوت هات باید نام بدی و از نامشون توی سیستم استفاده کنی اینجوری بعدا اگه خواستی لینک رو تغییر بدی نیاز ینست قالب رو دست بزنی 
 Route::get('/rout5',[AjaxController::class,'AjaxController'])->name('someroute');
البته اگه پارامتر های ارسالیت رو با javascript بدست میاری و نمیتونی تو راوت php بزاری بهتره با کوئری استرینگ یا post ارسال کنی و جزوی از راوت نزاریشون 
جیکوئری سادست با
$(selector) 
المنت ها رو انتخاب میکنی که سلکتورش مثل css هستش مثلا اگه المنتی با آیدی category_test رو بخای میشه 
$('#category_test')
بعد که انتخابش کردی میگی حالا چیکارش کن مثلا اگه value رو بخای 
$('#category_test').val();
90% جی کوئری همینه ارسال ایجکس هم با جی کوئری به این شکله
   $.get( 'address' , { query_String_key : query_string_value}, function(result){
     
       // result -> pasokh bargashti 
     
   });
یعنی کلش میشه 
 function loadDoc() 
 {
       var category_id  = $('#category_test').val();
       $.get( '{{route('someroute')}}' , { category_id : category_id}, function(ajax_response){
     
               var ajax_response = JSON.parse(ajax_response);     
        });
 }
 
 
این خط ممکنه اررور بده 
           var ajax_response = JSON.parse(ajax_response);    
چون جیکوئری اگه درست درخواستت رو برگشت بدی خودش دیکد میکنه جیسون رو و نیازی نیست دیگه به این خط چون داری چیزی که قبلا دیکد شده اتومات رو دوباره دیکد میکنی 
در مورد آرایه هم جاواسکریپت 2 نوع آرایه داره که شکلشون فرق میکنه 
آرایه با کلید که بهش آبجکت میگن و به این شکله
 var data = { k : v , k : v  }
آرایه بدون کلید که به این شکله 
var data = [ v , v, v ];
 برای خوندنشون باید بسته به اینکه کدوم مدل رو داری حلقه بزاری 
var  data = ['a' , 'b' , 'c'];
data.forEach((element) => {
  console.log(element);
});
نوع با کلید 
var data = { name : 'ali' , last_name : 'alavi'};
for (var  [key, value] of Object.entries(data)) {
  console.log(key, '->' , value);
}
که نوع با کلید رومعمولا توی حلقه نمیزارن چون کلید داره و مستقیم بهش دسترسی پیدا میکنن 
   var  data = { name : 'ali' , last_name : 'alavi'};
   
   console.log(data.name);
   console.log(data.last_name);
باید دید کد php چجوری پاسخ رو برگشت میده  مثلا اگه همچین چیزی داشته باشی توی کنترلرت برای گرفتن زیر دسته ها 
function get_subcategories(Request $request ){
    $categories = Category::where( 'parent_id' , $request->input('category_id) )->get();
    return response()->json(['success' => 1 , 'categories' =>$categories]);
    
}
توی ajax_response  این رو خواهی داشت 
{
    success : 1 , 
    categories : [ { id : 1 , title : 'a' } ,  { id : 2 , title : 'b'  } , { id : 3 , title : 'c' } ]
}
ترکیبی از آرایه با کلید و بدون کلید 
باید اینجوری هندلش کنی 
for (var  [key, value] of Object.entries(ajax_reponse.categories)) {
                      console.log(value.id , value.title);
}
کلش  میشه 
 function loadDoc() 
 {
       var category_id  = $('#category_test').val();
       $.get( '{{route('someroute')}}' , { category_id : category_id}, function(ajax_response){
     
               var ajax_response = JSON.parse(ajax_response);    
                if(ajax_response.success == 1 ) 
                {
                    for (var  [key, value] of Object.entries(ajax_reponse.categories)) {
                      console.log(value.id , value.title);
                    }
                }
                else 
                {
                    alert('something went wrong ! ');
                }
               
        });
 }