Laravel 5.2 使用成功消息重定向回来

新手上路,请多包涵

我正在尝试将成功消息返回到我在 laravel 上的主页。

 return redirect()->back()->withSuccess('IT WORKS!');

由于某种原因,变量 $success 在运行此代码后没有获得任何值。

我用来显示成功消息的代码:

 @if (!empty($success))
    <h1>{{$success}}</h1>
@endif

我已将主页和时事通讯页面添加到 routes.php 中的 web 中间件组,如下所示:

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

    Route::get('/', function () {
        return view('home');
    });

    Route::post('/newsletter/subscribe','NewsletterController@subscribe');
});

有谁知道为什么这似乎不起作用?

原文由 Stefan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 310
2 个回答

您应该从 routes.php 中删除 web 中间件。 在 Laravel 5.2.27 及更高版本中 手动添加 web 中间件会导致会话和请求相关问题。

如果它没有帮助(仍然,保持 routes.php 没有网络中间件),你可以尝试一些不同的方法:

 return redirect()->back()->with('message', 'IT WORKS!');

如果存在则显示消息:

 @if(session()->has('message'))
    <div class="alert alert-success">
        {{ session()->get('message') }}
    </div>
@endif

原文由 Alexey Mezenin 发布,翻译遵循 CC BY-SA 3.0 许可协议

在控制器中:

  `return redirect()->route('car.index')->withSuccess('Bein ajoute')`;

在视图中

  @if(Session::get('success'))
           <div class="alert alert-success">
               {{session::get('success')}}
           </div>
   @endif

原文由 yassine dotma 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题