S M Iftakhairul
S M Iftakhairul

Reputation: 1150

Laravel: How to check whether a user logged in or not by jQuery

Although I know about the authentication check via laravel, I want to know how to check via jQuery.

Actually, I want to change my CSS If user logged in. By default:

body{
    background: url('image.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

If user logged in, my CSS should be updated like:

body{
    /*Nothing*/
}

I've tried something in my js file:

var loggedIn={!! json_encode(Auth::check()) !!};
if(loggedIn)
    alert('Logged In as user!');

But the above code didn't work for me. I need help. If my purpose can be done in any alternative way, you may share.

Thanks

Upvotes: 3

Views: 7455

Answers (3)

Sandeesh
Sandeesh

Reputation: 11906

Try this.

var loggedIn = {{ auth()->check() ? 'true' : 'false' }};
if (loggedIn)
    alert('Logged In as user!');

Upvotes: 5

Ohgodwhy
Ohgodwhy

Reputation: 50787

Laravel already uses a window.Laravel definition, so let's just extend that in the head of the master template:

<script>
    window.Laravel = {
        csrfToken: '{{csrf_token()}}',
        auth: {
            user: auth()->user()
        }
    }
</script>

Upvotes: 0

Robert Fridzema
Robert Fridzema

Reputation: 523

I suggest you place anywhere in you template a script block like this:

    <script>
        var AuthUser = "{{{ (Auth::user()) ? Auth::user() : null }}}";
    </script>

Then you can access AuthUser variable in javascript

Upvotes: 1

Related Questions