【问题标题】:How to flash session data when redirect to intended() using Laravel?使用 Laravel 重定向到预期()时如何刷新会话数据?
【发布时间】:2021-08-08 09:35:30
【问题描述】:

我正在尝试在登录后重定向到预期的 URL,并将一些会话数据一起闪烁以仅显示一次弹出模式。

如果我这样做,它会起作用:

return redirect(RouteServiceProvider::HOME)->with('showWelcome', true);

我可以像这样在刀片视图中检索会话:

@if (session('showWelcome'))
    // show modal..
@endif

但是,如果我使用intended(),则无法找到会话:

return redirect()->intended(RouteServiceProvider::HOME)->with('showWelcome', true);

我还尝试了以下方法:

  • 使用以下内容代替with()
$request->session()->flash('showWelcome', true);
  • 使用\Session 类而不是session() 帮助器来检索会话数据:
@if (\Session::has('showWelcome'))
    // show modal
@endif

不幸的是,只有当我使用intended()时,问题仍然存在。

我到处搜索,但找不到任何解决方案。

我做错了什么或理解重定向的工作方式不正确?

【问题讨论】:

    标签: php laravel web session


    【解决方案1】:

    我认为问题出在 flash 消息上,所以你可以尝试这样的方法来实现相同的功能 存储数据

    $request->session()->put('showWelcome', true);
    return redirect()->intended(RouteServiceProvider::HOME);
    

    检索数据

    $showWelcome = $request->session()->pull('showWelcome');
    

    希望有效!

    【讨论】:

    • 是的,使用 put()pull() 有效。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 2019-07-01
    • 2016-04-10
    • 1970-01-01
    • 2018-09-15
    • 2017-03-03
    • 2020-09-24
    相关资源
    最近更新 更多