[英]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.