Flash-данные не записываются в сеанс
Я использую Laravel 7.12.0, и данные моего флеш-сеанса, похоже, вообще не работают, используя
request()->session()->flash('status', 'Task was successful!');
или
return redirect()->route('home')->with('status', "Task was successful");
Я использую Debugbar, а также открываю страницу для проверки данных сеанса.
Я также знаю, что используется промежуточное программное обеспечение для сети.
session()->put()
все еще работает, поэтому я знаю, что размещение данных в сеансе не полностью нарушено, но флэш-данные, похоже, вообще не работают. Это новая установка, поэтому я пытаюсь понять, что может быть не так?
Web.php
Auth::routes();
Route::get('/', 'HomeController@index')->name('home');
Route::group(['middleware' => ['auth']], function () {
Route::resource('polls', 'PollController');
Route::post('polls/vote', 'PollController@vote')->name('polls.vote');
});
Route::resource('api/polls', 'API\PollController');
Часть RouteServiceProvider.php
/**
* Define the "web" routes for the application.
*
* These routes all receive session state, CSRF protection, etc.
*
* @return void
*/
protected function mapWebRoutes()
{
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/web.php'));
}
Группа веб-промежуточного ПО в kernel.php
/**
* The application's route middleware groups.
*
* @var array
*/
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,
],
];
HomeController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HomeController extends Controller
{
public function index()
{
dd(request()->session()->all());
}
}
Что находится в сеансе из моего HomeController@index после перенаправления.
"_token" => "pbZJgfC6XNG2eTqlcGADm68NqhjOHI16rWe4U1bt"
"_previous" => array:1 [▼
"url" => "http://127.0.0.1:8000"
]
"_flash" => array:2 [▼
"old" => []
"new" => []
]
"url" => []
"login_web_59ba36addc2b2f9401580f014c7f58ea4e30989d" => 1
]
Благодарность
1 ответ
Похоже, это связано со средой размещения. Мне удалось воспроизвести проблему на моем локальном компьютере при использовании http://127.0.0.1:8000/. После переключения на http://localhost:8000/ сеансы начали сохраняться, как и ожидалось, с обоими ->flash и ->with.