我想在laravel上得到一个成功的信息,回到我的主页。
return redirect()->back()->withSuccess('IT WORKS!');
由于某些原因,变量$success在运行此代码后没有得到任何值。
我使用的代码是用来显示成功信息的:
@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');
});
有谁知道为什么这似乎不起作用?
你应该从routes.php
中删除web
中间件.手动添加web
中间件会导致Laravel 5.2.27及以上版本的会话和请求相关问题.
如果它没有帮助(仍然保持routes.php
没有web中间件), 你可以尝试一点不同的方法:
return redirect()->back()->with('message', 'IT WORKS!');
显示信息,如果它存在的话:
@if(session()->has('message'))
<div class="alert alert-success">
{{ session()->get('message') }}
</div>
@endif