【问题标题】:Can we trigger an event to the browser few minutes before the session expires in Laravel?我们可以在 Laravel 中会话到期前几分钟向浏览器触发事件​​吗?
【发布时间】:2019-11-23 21:08:50
【问题描述】:

我是 Laravel 的新手,我想到了一个可能的场景。

假设我们在一个页面上工作,我们在其中设计了一些项目。由于我们只在该页面上工作,我们不会向服务器发送任何请求,这意味着我们可以在加载页面后 X 分钟内保存我们的项目,其中 X 是会话时间的分钟数。

我知道从前端我们可以执行一些超时功能来保存项目,但是如果不使用前端,我们可以在会话到期前 5 分钟触发一个功能吗?

【问题讨论】:

    标签: php laravel session


    【解决方案1】:

    您可以尝试多种方法来实现此要求。最简单的解决方案是将会话有效时间传递给前端 javascript。因此,使用该值,您可以使用 javascript 中的 setTimeout 设置计时器,以向用户发出通知。

    另一种方法是使用WebSockets,大多数现代Web浏览器都支持,Websockets允许双工连接,这意味着您可以从服务器向客户端推送通知,但是设置它需要一些知识在 WebSockets 中,您可能需要使用一些服务,例如 socket.iopusher。 Laravel 开箱即用地支持这两种服务,并为我们提供了一个名为 Laravel echo 的库来做前端脚手架。但这需要相当多的 laravel 事件和广播知识,当然还有 WebSockets。

    【讨论】:

    • 感谢您的建议!我会详细研究它们。
    • 酷,告诉我进展如何。
    猜你喜欢
    • 1970-01-01
    • 2019-10-03
    • 2016-07-08
    • 2014-12-24
    • 1970-01-01
    • 2013-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多