我有一张联系表格。提交后,POST请求转到一个控制器,该控制器处理联系人表单(检查请求并通过电子邮件发送数据)。在控制器的底部,我有这个:
return back()->with('flash-message', 'Message!');在视图中,我尝试用以下方式回应该消息
{{ session('flash-message') }}这似乎不管用。消息不在会话中。会出什么问题呢?Im使用: Laravel版本5.2.7
发布于 2016-01-14 19:59:01
请用这种方法获取会话变量..
return redirect()->back()->with('flash-message','message'); 在视图中..
{{Session::get('flash-message')}}发布于 2016-01-15 20:50:27
我想通了。这与Laravel 5.2更新有关。负责将闪存数据提供给所有视图的中间件不再在正常的路径中使用。它从全局中间件移到了web中间件组。这篇文章解释了这个问题以及如何解决它。
Laravel 5.2 $errors not appearing in Blade
这篇文章解释了两种修复方法:
middleware \Illuminate\View\Middleware\ShareErrorsFromSession::class移回protected $middleware属性。Route::group(['middleware' => 'web'], function() { // Place all your web routes here... });
发布于 2016-01-15 19:59:42
您可以对控制器执行this.In操作:
Session::flash('message','Empty input not accepted');
return back();在使用该会话的视图文件中,您可以执行上述操作:
{{ \Session::get($message) }}希望这对你有帮助...
https://stackoverflow.com/questions/34789020
复制相似问题