Laravel:我怎样才能在用户登录后执行javascript代码?

时间:2017-07-10 06:11:29

标签: laravel laravel-5

我正在使用Laravel 5.4。我想在用户登录后才执行一些javascript代码。

我的问题陈述是 - 我想执行一些javascript代码来监听用户通知(我正在使用pusher进行广播)。通知的渠道将基于用户ID;所以我不能使用通用代码。

实现这一目标最优雅的方法是什么?

3 个答案:

答案 0 :(得分:0)

您是否尝试将其添加到控制器?

public function __construct()
{
    $this->middleware('auth');
}

答案 1 :(得分:0)

您可以检查刀片文件中的用户登录,并在您的视图文件中为members.something添加javascript:

@if(\Auth::check())

 <script .... />

@endif

答案 2 :(得分:0)

虽然问题不是很清楚。您可以做的是强制用户通过检查特殊视图进行身份验证。

第一种方式是

让我们说这是你的page.blade

<script> some javascript </script>

所以你可以创建这样的路线

Route::get('success', 'PageController@page')

现在你要做的就是向PageController

添加一个auth中间件

如上所述由vladjamir

public function __construct()
{
    $this->middleware('auth');
} 
public function page()
{
    return view('page');
}

基本上,如果用户想要进行页面查看,则需要进行身份验证,并由中间件检查。

@ Saman的方法也可以,但首先它总是很好,在你的视图文件上尽可能少的php,以保持MVC结构清洁和独立。其次,此方法仅适用于单个视图文件。如果你必须为多个视图文件检查相同的javascript,你需要逐个编写它,除非javascript写在布局文件中。