会话闪存不起作用,放了[L5.2]

时间:2016-04-29 08:25:59

标签: php laravel flash session laravel-5.2

非常基本的事情正在发生。使用Session Flash消息显示任何成功/错误消息。

我的'middleware' => 'web'群组中已设置所有路线。

现在我的问题。 <{1}}在->flash()完成时无效。

控制器:

->put()

刀片:

$request->session()->flash('alert-success', 'My flash message');

Laravel 5 docs中陈述的@foreach (['danger', 'warning', 'success', 'info'] as $msg) @if(Session::has('alert-' . $msg)) <p class="alert alert-{{ $msg }}">{{ Session::get('alert-' . $msg) }} <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a> </p> @endif @endforeach 也不起作用。

修改

Laravel 5.2 Session flash not working even with web middleware重复。使用return redirect('routeHere')->with('alert-success', 'My flash message'); 代替['middlewareGroups' => 'web']可以解决问题,但假设这不是可行的方法。

2 个答案:

答案 0 :(得分:0)

在搜索出这个问题的好奇心后,我注意到laravel version >= 5.2.27的一个有趣的更新,它默认将web中间件组应用于routes.php中定义的所有路由。

现在这让我认为通过声明中间件['middleware' => 'web']将导致代码被调用两次,从而清除非持久性Flash消息。

基于我的假设的解决方案是不使用:

Route::group(['middleware' => 'web'], function () {
});

这是我发现更新信息的地方:)   Laravel 5.2 Auth not Working

答案 1 :(得分:0)

尝试删除&#34; web&#34;来自routes.php文件的laravel 5.2中的中间件。这样可以帮助我