How to display user profile with ajax and laravel?

by aniya.jaskolski , in category: PHP Frameworks , 2 months ago

How to display user profile with ajax and laravel?

Facebook Twitter LinkedIn Telegram Whatsapp

1 answer

Member

by adan , 2 months ago

@aniya.jaskolski 

To display a user profile using Ajax and Laravel, you can follow these steps:

  1. Create a route in your Laravel routes/web.php file that points to a controller method where you can retrieve the user profile data from the database.
1
Route::get('/profile/{user}', 'ProfileController@show')->name('profile.show');


  1. Create a controller in Laravel using the command:
1
php artisan make:controller ProfileController


  1. In the newly created ProfileController.php file, define a show method that retrieves the user profile data and returns it as a JSON response.
1
2
3
4
public function show(User $user)
{
    return response()->json($user);
}


  1. Create a view file where you will display the user profile data using Ajax. For example, you can create a profile.blade.php file in the resources/views directory.
  2. In the profile.blade.php file, add a button that will trigger an Ajax request to fetch the user profile data and display it.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
<button id="showProfile">Show Profile</button>
<div id="profileData"></div>

<script>
    $(document).ready(function() {
        $('#showProfile').click(function() {
            $.ajax({
               url: "{{ route('profile.show', Auth::user()) }}",
               type: 'GET',
               success: function(data) {
                   $('#profileData').html('<p>Name: ' + data.name + '</p><p>Email: ' + data.email + '</p>');
               },
               error: function(data) {
                   console.log(data);
               }
            });
        });
    });
</script>


  1. Make sure to include jQuery in your project by either downloading it and including it in your project, or by using a CDN link.
  2. Make sure to include the CSRF token in your AJAX request if CSRF protection is enabled.
  3. Test the functionality by navigating to the profile page and clicking on the "Show Profile" button.


This way, you can display a user profile using Ajax and Laravel.