Fla sh данные не записываются в сеанс - PullRequest
0 голосов
/ 25 мая 2020

Я использую Laravel 7.12.0, а мои данные сеанса fla sh, похоже, вообще не работают, используя

request()->session()->flash('status', 'Task was successful!');

или

return redirect()->route('home')->with('status', "Task was successful");

Я использую Debugbar, а также открываю страницу для проверки данных сеанса.

Я также знаю, что используется промежуточное веб-ПО.

session()->put() по-прежнему работает, поэтому я знаю, что передача данных в сеанс не полностью нарушена, но данные fla sh, похоже, вообще не работают. Это fre sh установка, поэтому я изо всех сил пытаюсь понять, что может быть не так?

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'));
    }

Группа Web Middleware в ядре. 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 Ответ

1 голос
/ 25 мая 2020

Похоже, это имеет отношение к среде хостинга. Мне удалось воспроизвести проблему на моем локальном компьютере при использовании http://127.0.0.1: 8000 . После переключения на http://localhost: 8000 сеансы начали сохраняться, как ожидалось, с обоими -> fla sh и -> with.

...