How to delete record in Laravel with ajax

Updated at 21-Feb-2022, By samar

How to delete record in Laravel with ajax

We’ll attempt to use programming in this lesson to solve the "How to delete record in Laravel with ajax" puzzle.

You can delete the record in Laravel with ajax. You have to pass the primary id of the record as the route parameter and call the ajax script to delete the record from the table.
  • Delete a record with Ajax using HTML Form in Laravel

    //Web route to delete record from users table
    routes\web.php
    Route::delete('/user/delete/{id}', '[email protected]')->name('user.delete');
    
    //HTML - Delete user form with ajax script
    //resources\views\home.blade.php
    <form class="delete-user-form" action="{{ route('user.delete', 1) }}" method="POST">
        {{ csrf_field() }}
        {{ method_field('DELETE') }}
        <button type="submit" class="btn btn-default">Remove</button>
    </form>
    <script>
        $(document).on('submit', '.delete-user-form', function(e) {
            e.preventDefault();
            var url = $(this).attr('action');
            $.ajax({
                type: "DELETE",
                url: url,
                data:{
                    _token: '{{ csrf_token() }}'
                },
                success: function(resp){
                    console.log(resp);
                }
            });
            return false;
        });
    </script>
    
    //UserController’s delete method
    
    app\Http\Controllers\UserController.php
    public function delete($id){
        $resp = array();
        try{
            User::where('id', $id)->delete();
            $resp['status'] = true; 
        }catch(\Exception $e){
            $resp['status'] = false;
            $resp['error_msg'] = $e->getMessage();
        }
        return response()->json($resp);
    }
    

    You can delete record in laravel using ajax. You have to create a web route and add html form with ajax script in blade file. You have to create a delete method in controller and add delete functionality to delete the record from database table.

    Additional Note:

    Add jQuery script in Head or body tag in Laravel blade file.

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

     

Back to code snippet queries related laravel