繁体   English   中英

Laravel 7 不显示 flash 消息

[英]Laravel 7 does not display flash message

Laravel Framework 7.25.0
PHP 7.2 on LARAGON

我不确定它是否与它有关,但我相信它可能与我的路线有关,我可能在胡说八道。

没有显示 flash 消息,我只能通过将其设置为 Session::put 来显示消息,在视图中检索它然后删除它。

Session::put('success', 'example');
return redirect()->route('example', array('id_example' => 'example'));

当我使用 withErrors 时,前面的 flash 总是返回 null。

return redirect()->route('example', array('id_example' => 'example'))->with('success', 'Text');
or
return redirect()->back()->withErrors( ['example'] );
or
Session::flash('success', 'example');

在我尝试了几种方法的视图中,它们都具有相同的结果。 除非我手动使用 Session::put 来存储返回消息。

@if (Session::has('error'))
@if ($errors->any())
@if (Session::has('success'))
@if (session()->has('success'))

这是我在路线上使用的 model。

Route::namespace('Front')->group(function(){
    # Homepage
     Route::get('/', 'ExampleFrontController@Home')->name('home');
})

Route::namespace('Admin')->group(function(){
    # Login
     Route::get('/admin/login', 'ExampleAdminController@Index')->name('admin.login');
})

我使用 Session:: put 没有问题,但是,我的表单请求规则的返回也没有显示,这给我带来了问题。

问完这个问题后,我决定参加一个我还没有做过的测试。

我评论了 kernel class: StartSession::class 和 ShareErrorsFromSession::ZA2F2ED4FDC40AB2CBBDZC2A。

按计划,会议停止工作。

就我而言,我不得不将两个类从 $ middlewareGroups 移动到 $ middleware,这解决了我上面的问题。

我改变了这一点:

    protected $middleware = [
        // \App\Http\Middleware\TrustHosts::class,
        \App\Http\Middleware\TrustProxies::class,
        \Fruitcake\Cors\HandleCors::class,
        \App\Http\Middleware\CheckForMaintenanceMode::class,
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
        \App\Http\Middleware\TrimStrings::class,
        \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
    ];

    protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            // \Illuminate\Session\Middleware\AuthenticateSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],

        'api' => [
            'throttle:60,1',
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],
    ];

为了这

    protected $middleware = [
        // \App\Http\Middleware\TrustHosts::class,
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \App\Http\Middleware\TrustProxies::class,
        \Fruitcake\Cors\HandleCors::class,
        \App\Http\Middleware\CheckForMaintenanceMode::class,
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
        \App\Http\Middleware\TrimStrings::class,
        \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
    ];

    protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        #    \Illuminate\Session\Middleware\StartSession::class,
        #    \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        #    \Illuminate\Session\Middleware\AuthenticateSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM