This tutorial about delete a database record without page refreshing by ajax in laravel 7, laravel 8, laravel 9.
Delete a record with ajax
If you want to delete record without page refreshing then use jquery ajax. Here we will explain how to use ajax for delete records. first make a UserController here define index or delete metthod see below examples.
web.php
<?php Route::get('users',[UserController::class,'index'])->name('users'); Route::post('user-delete',[UserController::class,'delete'])->name('user.delete');
UserController
<?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('students.index', compact('users')); } public function delete(Request $request){ $id = $request->id; User::where('id', $id)->delete(); return response()->json(['status'=>'200']); } }
View file
In view files our html code present
<html> <head> <title>advanced web tuts</title> </head> <body> <h1>Users list</h1> <table> <thead> <tr> <th>Name</th> <th>Email</th> <th>Action</th> </tr> </thead> <tbody> @foreach($users as $user) <tr> <td>{{ $user->name }}</td> <td>{{ $user->email }}</td> <td><a href="javascript:void(0);" class="delete" data-id="{{ $user->id }}">Delete</a></td> </tr> @endforeach </tbody> </table> <script src="js/jquery.js"></script> <script> $(".delete").on("click", function(){ var id = $(this).attr("data-id"); $.ajax({ url: "{{ route('user.delete') }}", data: {"id": id,"_token": "{{ csrf_token() }}"}, type: 'post', success: function(result){ location.reload(); } }); }); </script> </body> </html>
You read this tutorial on advanced web tuts provided by anmol sharma.