【问题标题】:Laravel javascript logoutLaravel JavaScript 注销
【发布时间】:2017-10-26 01:43:44
【问题描述】:

如果在客户端(laravel 5.4 项目的)JavaScript 代码中发生错误,最佳实践是什么,例如代码无法找到重要的 cookie?

那么,如果出现某些错误,我该如何编写代码自动注销用户(带有错误消息)?有没有简单的库或方法,这种情况我应该使用什么?

提前感谢您的回答和建议!

【问题讨论】:

  • 为什么要使用 cookie 进行注销?
  • 感谢您的回复!我不想使用 cookie 进行注销,但我在 cookie 中存储了一些数据(例如 userid),如果用户删除了 cookie,或者在 cookie 中设置了错误值,我想注销用户.
  • 你为什么要使用 JavaScript?
  • @LakiGeri cookie 将保存您将存储在其中的值,您也可以使用 laravel 设置 cookie
  • @Mozammil:因为如果我不知道其中一个重要数据,我的客户端就不能正常工作

标签: javascript php laravel laravel-5


【解决方案1】:

这是 Laravel 中默认的注销路由。

$this->post('logout', 'Auth\LoginController@logout')->name('logout');

看起来像这样

public function logout(Request $request)
{
    $this->guard()->logout();

    $request->session()->flush();

    $request->session()->regenerate();

    return redirect('/');
}

因此,如果您想从 JavaScript 中注销用户,只需向注销路由发送一个发布请求。这应该注销并重定向它们。但是如果您想优雅地注销并显示错误消息,您需要创建一个新的注销方法并让它发送一个 json 响应而不是重定向。然后调用新创建的路由并注销用户并抛出收到的消息。

【讨论】:

    【解决方案2】:

    注销按钮会屏蔽用于触发此操作的 Javascript 帖子。您可以在任何已创建注销按钮的页面上简单地使用相同的调用:即

    document.getElementById('logout-form').submit();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-03
      • 2016-02-13
      • 2016-03-21
      • 2020-11-02
      • 2019-05-12
      • 2018-06-16
      • 2018-07-11
      • 2020-12-07
      相关资源
      最近更新 更多