【问题标题】:Using Cookie to remember user settings in Laravel在 Laravel 中使用 Cookie 记住用户设置
【发布时间】:2014-12-02 23:56:16
【问题描述】:

以前我 asked 关于 Laravel 中的 cookie。我现在很理解他们,但我现在正在碰壁。

我想/被告知使用 Cookie 来“记住”用户对视图所做的某些设置。

我为什么要使用 Cookie:

我的网站上有一个后端,左侧有一个菜单栏,占据了整个高度。但默认情况下,菜单栏有点宽(就像 mailchimp 一样),所以我创建了一个按钮,用户可以在其中缩小菜单栏。但是,当用户缩小菜单栏并转到后端的另一个页面时,菜单栏会自行重置为默认宽度。我希望我的网站能够“记住”用户最喜欢哪种菜单栏。

现在,我知道如何制作 Cookie,我知道如何将其传递到下一页,但我不知道但想知道的是:如果用户按下按钮缩小菜单栏?

是否应该在用于使窄按钮工作的 javascript 中完成此操作?我真的不知道。我不想得到一些完整的代码或任何东西,我只是想听听你们的一些意见,关于你如何做到这一点或你将如何做到这一点。

【问题讨论】:

  • 用户点击按钮 > php/javascript 减小宽度并设置宽度 cookie > 用户刷新或加载新页面 > php/javascript(取决于你自己)在页面加载时检查 cookie,如果它存在相应地设置宽度
  • 使用Javascript设置cookie,在渲染模板时从Laravel读取cookie来相应调整设置。
  • @Steve 由于必须将 cookie 附加到响应,如何在视图本身的 javascript 中设置宽度 cookie 并将其附加到响应? ://
  • @Steve 谢谢!还阅读了 Mozilla 文档。但我做不到的是,获得 cookie 的价值。在第 1 页上,我设置/制作了 cookie,但是当我转到另一个页面左右时,我尝试获取 cookie,但它什么也没做。我在这里错过了什么吗?

标签: javascript php cookies laravel laravel-4


【解决方案1】:

我会使用 ajax,在按钮(设置)上单击向您的控制器发送一个发布请求,该控制器将做出 Cookie 响应。

如果您不想在 cookie 响应之后强制刷新,您可以作弊并使用“302”类型的响应,或者只是排队 cookie 制作。 Laravel 会自动为你执行下一个响应的 cookie 制作。

如果我可以提出额外的建议:

我实际上也会将它保存在数据库中,并使用 memcache 从内存中加载设置。

Jereon,如果您需要上述任何代码示例,请告诉我。我很乐意为您准备它们。

【讨论】:

    猜你喜欢
    • 2014-04-20
    • 2021-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-09
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多