Laravel 5.2 重定向回成功消息

2022-08-30 09:13:17

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

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

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

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

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

我已经在路由中将主页和新闻稿页面添加到Web中间件组.php如下所示:

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

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

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

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


答案 1

您应该从 中删除中间件。手动添加中间件会导致 Laravel 5.2.27 及更高版本中出现与会话和请求相关的问题webroutes.phpweb

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

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

显示消息(如果存在):

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

答案 2

你可以使用这个:

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

并在您的视图中使用它:

@if(session('success'))
    <h1>{{session('success')}}</h1>
@endif

推荐