How to Call Laravel Controller Method in Jquery / Javascript

In this tutorial we will discuss, how to call laravel controller method in jquery and javascript.

Call Controller method from jquery/javascript

We call laravel controller method in jquery by using ajax. Ajax is use for send data to controller and get response. Make a route for method and call this route in url of ajax.

Routes

Routes/web.php

<?php
Route::get('users',[UserController::class,'index'])->name('user.list');
Route::get('user-detail',[UserController::class,'detail'])->name('user.detail');

UserController

In UserController we will make methods for list all users and get data of single user by ajax.

<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\User;

class UserController extends Controller{
  public function index(){
    $users = User::get();
    return view('user.index', compact('users'));
  }

  public function detail(Request $request){
    $id = $request->id;
    $user = User::find($id);
    return response()->json(['status_code' => '200', 'data' => $user]);
  }
}

View File

In blade view file(user/index.blade.php) we will send a ajax request for getting single user data.

<div>
  @foreach($users as $user)
    <div> {{ $user->name }} </div>
    <div class="user_detail" data-id="{{ $user->id }}"> Show detail </div>
  @endforeach
</div>
<script>
  $(".user_detail").on('click', function(){
	var id = $(this).attr("data-id");
	$.ajax({ 
         url: "{{ route('user.detail') }}",
         data: {"id":id},
         type: 'get',
         success: function(result){
            console.log(result)
         }
        });
  });
	
</script>
php laravel developer anmol sharma

Anmol Sharma

I am a software engineer and have experience in web development technologies like php, Laravel, Codeigniter, javascript, jquery, bootstrap and I like to share my deep knowledge by these blogs.

Random tutorial links