使用 Laravel 重定向到 intended() 时如何刷新 session 数据?
How to flash session data when redirect to intended() using Laravel?
我正在尝试在登录后重定向到预期的 URL,并将一些 session 数据一起闪烁以仅显示一次弹出模式。
如果我这样做,它会起作用:
return redirect(RouteServiceProvider::HOME)->with('showWelcome', true);
我可以在 blade 视图中检索 session:
@if (session('showWelcome'))
// show modal..
@endif
但是,如果我使用intended()
,session是找不到的:
return redirect()->intended(RouteServiceProvider::HOME)->with('showWelcome', true);
我也试过以下方法:
- 使用以下代替
with()
:
$request->session()->flash('showWelcome', true);
- 使用
\Session
Class 而不是 session()
助手来检索 session 数据:
@if (\Session::has('showWelcome'))
// show modal
@endif
不幸的是,问题仍然存在,只有当我 不是 使用 intended()
.
时它才有效
我到处搜索,但找不到任何解决方案。
我是不是做错了什么或理解重定向的工作原理不正确?
我认为问题出在闪现消息上,所以您可以尝试类似的方法来实现相同的功能
存储数据
$request->session()->put('showWelcome', true);
return redirect()->intended(RouteServiceProvider::HOME);
检索数据
$showWelcome = $request->session()->pull('showWelcome');
希望有用!
我正在尝试在登录后重定向到预期的 URL,并将一些 session 数据一起闪烁以仅显示一次弹出模式。
如果我这样做,它会起作用:
return redirect(RouteServiceProvider::HOME)->with('showWelcome', true);
我可以在 blade 视图中检索 session:
@if (session('showWelcome'))
// show modal..
@endif
但是,如果我使用intended()
,session是找不到的:
return redirect()->intended(RouteServiceProvider::HOME)->with('showWelcome', true);
我也试过以下方法:
- 使用以下代替
with()
:
$request->session()->flash('showWelcome', true);
- 使用
\Session
Class 而不是session()
助手来检索 session 数据:
@if (\Session::has('showWelcome'))
// show modal
@endif
不幸的是,问题仍然存在,只有当我 不是 使用 intended()
.
我到处搜索,但找不到任何解决方案。
我是不是做错了什么或理解重定向的工作原理不正确?
我认为问题出在闪现消息上,所以您可以尝试类似的方法来实现相同的功能 存储数据
$request->session()->put('showWelcome', true);
return redirect()->intended(RouteServiceProvider::HOME);
检索数据
$showWelcome = $request->session()->pull('showWelcome');
希望有用!