gpt4 book ai didi

php - Laravel 5.2 Session flash 即使使用 web 中间件也不工作

转载 作者:可可西里 更新时间:2023-11-01 13:02:16 26 4
gpt4 key购买 nike

我正在尝试使用 session 实现 flash 消息传递,但我做不到。

在我的 Controller 中我有:

public function store(Request $request) {
session()->flash('donald', 'duck');
session()->put('mickey', 'mouse');
return redirect()->action('CustomerController@index')->with('bugs', 'bunny');
}

但是当我检查 View 中的 session 变量时,我只能看到来自 session()->put('mickey', 'mouse') 的值。

session :

{"_token":"F6DoffOFb17B36eEJQruxvPe0ra1CbyJiaooDn3F","_previous":{"url":"http:\/\/localhost\/customers\/create"},"flash":{"old":[],"new":[]},"mickey":"mouse"}

很多人遇到这个问题是因为 web 中间件中没有相关的路由。我确保也这样做了,但它仍然行不通。

在 routes.php 中:

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

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

Route::get('/customers', 'CustomerController@index');
Route::get('/customers/create', 'CustomerController@create');
Route::post('/customers', 'CustomerController@store');
});

在 Kernel.php 中:

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

'api' => [
'throttle:60,1',
],
];

任何人都可以让我知道我在这里做错了什么吗?谢谢!

最佳答案

通过替换

解决了问题
Route::group(['middleware' => ['web']], function () {
...
});

Route::group(['middlewareGroups' => ['web']], function () {
...
});

尽管所有文档都建议我们使用 ['middleware' => ['web']]

,但不知道为什么这会起作用

关于php - Laravel 5.2 Session flash 即使使用 web 中间件也不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36279871/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com