Intereting Posts

Laravel 5.2 перенаправляет назад сообщение об успешном завершении

Я пытаюсь получить сообщение об успешной работе на моей домашней странице на laravel.

return redirect()->back()->withSuccess('IT WORKS!'); 

По какой-то причине переменная $ success не получает никакого значения после запуска этого кода.

Код, который я использую для отображения сообщения succes:

 @if (!empty($success)) <h1>{{$success}}</h1> @endif 

Я добавил домашнюю страницу и страницу информационного бюллетеня в группу промежуточного программного обеспечения сети в routes.php следующим образом:

 Route::group(['middleware' => 'web'], function () { Route::auth(); Route::get('/', function () { return view('home'); }); Route::post('/newsletter/subscribe','NewsletterController@subscribe'); }); 

Кто-нибудь знает, почему это не работает?

Вы должны удалить web промежуточное программное обеспечение с routes.php . Добавление промежуточного программного обеспечения в web вручную вызывает проблемы с сеансом и запросами в Laravel 5.2.27 и выше .

Если это не помогло (по-прежнему сохраняйте routes.php без промежуточного программного обеспечения в Интернете), вы можете попробовать немного другой подход:

 return redirect()->back()->with('message', 'IT WORKS!'); 

Отображение сообщения, если оно существует:

 @if(session()->has('message')) <div class="alert alert-success"> {{ session()->get('message') }} </div> @endif 

вы можете использовать это:

 return redirect()->back()->withSuccess('IT WORKS!'); 

и используйте это на ваш взгляд:

 @if(session('success')) <h1>{{session('success')}}</h1> @endif