Laravel:如何通过 jQuery 检查用户是不是登录

Posted

技术标签:

【中文标题】Laravel:如何通过 jQuery 检查用户是不是登录【英文标题】:Laravel: How to check whether a user logged in or not by jQueryLaravel:如何通过 jQuery 检查用户是否登录 【发布时间】:2017-10-18 16:04:54 【问题描述】:

虽然我知道通过laravel 进行authentication 检查,但我想知道如何通过jQuery 进行检查。

实际上,如果用户登录,我想更改我的CSS。 默认情况下:

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

如果用户登录,我的CSS 应该更新为:

body
    /*Nothing*/

我在js 文件中尝试了一些东西:

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

但是上面的代码对我不起作用。 我需要帮助。如果我的目的可以通过任何其他方式完成,您可以分享。

谢谢

【问题讨论】:

这个帮助? ***.com/questions/22273830/… 只需删除 json_encode 不工作@Omi 检查控制台是否有错误 【参考方案1】:

我建议您在模板中的任何位置放置这样的脚本块:

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

然后你可以在 javascript 中访问 AuthUser 变量

【讨论】:

【参考方案2】:

Laravel 已经使用了 window.Laravel 定义,所以让我们在主模板的头部扩展它:

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

【讨论】:

如何在脚本中获取用户信息? @SMIftakhairul window.Laravel.auth.user ...或者只是 Laravel.auth.user【参考方案3】:

试试这个。

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

【讨论】:

以上是关于Laravel:如何通过 jQuery 检查用户是不是登录的主要内容,如果未能解决你的问题,请参考以下文章

Jquery Validation用远程检查用户名

Laravel sanctum 检查用户是不是在没有重定向的情况下通过身份验证

如何通过jquery在文本框中检查用户输入的小数分隔符

当 Ajax 响应来自使用 select2 的 laravel 控制器时,如何检查 JQuery 附加选项中的条件?

Laravel如何验证一行中的数据,而不是检查整个表

Laravel: 使用isAdmin列检查用户是否是管理员?