我正在使用Laravel 5.2,当我使用with它时,不会闪烁数据.
如果我使用
Session::flash('test', 'test');
Run Code Online (Sandbox Code Playgroud)
然后它显示会话闪存数据.
如果我把 - > with放在索引上它也不起作用.
调节器
public function store(Request $request)
{
return Redirect::route('registration::index')->with('test1', 'test');
}
public function index()
{
return view('registration.index');
}
Run Code Online (Sandbox Code Playgroud)
视图:
{{ var_dump(Session::all()) }}
Run Code Online (Sandbox Code Playgroud)
这里出了什么问题..?
在Laravel 5.2中,StartSession中间件不再添加到类中的全局$middleware列表中App\Http\Kernel.相反,它被添加到web中间件组,因此会话不会自动启动请求.您有两种方法可以解决此问题:
1.在使用web中间件组的路由组中添加需要使用会话的路由:
Route::group(['middleware' => ['web']], function () {
Route::get('/', 'ControllerClass@index');
Route::post('store', 'ControllerClass@store');
});
Run Code Online (Sandbox Code Playgroud)
2.将中间件从组移动到全局中间件列表,以便在每个请求上启动会话:
protected $middleware = [
...
\Illuminate\Session\Middleware\StartSession::class,
];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1986 次 |
| 最近记录: |