به راوت هات باید نام بدی و از نامشون توی سیستم استفاده کنی اینجوری بعدا اگه خواستی لینک رو تغییر بدی نیاز ینست قالب رو دست بزنی

 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 ! ');
}


});
}