Я пытаюсь получить сообщение об успешной работе на моей домашней странице на 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