Ste*_*fan 39 php laravel laravel-5.2
我正试图在laravel上找到成功的消息回到我的主页.
return redirect()->back()->withSuccess('IT WORKS!');
Run Code Online (Sandbox Code Playgroud)
由于某种原因,变量$ success在运行此代码后没有获得任何值.
我用来显示成功消息的代码:
@if (!empty($success))
<h1>{{$success}}</h1>
@endif
Run Code Online (Sandbox Code Playgroud)
我已将home和newsletter页面添加到routes.php中的web中间件组,如下所示:
Route::group(['middleware' => 'web'], function () {
Route::auth();
Route::get('/', function () {
return view('home');
});
Route::post('/newsletter/subscribe','NewsletterController@subscribe');
});
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么这似乎不起作用?
Ale*_*nin 97
你应该删除web
中间件routes.php
.web
手动添加中间件会导致Laravel 5.2.27及更高版本中的会话和请求相关问题.
如果没有帮助(仍然routes.php
没有网络中间件),你可以尝试一些不同的方法:
return redirect()->back()->with('message', 'IT WORKS!');
Run Code Online (Sandbox Code Playgroud)
显示消息(如果存在):
@if(session()->has('message'))
<div class="alert alert-success">
{{ session()->get('message') }}
</div>
@endif
Run Code Online (Sandbox Code Playgroud)
Moh*_*loo 20
你可以用这个:
return redirect()->back()->withSuccess('IT WORKS!');
Run Code Online (Sandbox Code Playgroud)
并在您的视图中使用此:
@if(session('success'))
<h1>{{session('success')}}</h1>
@endif
Run Code Online (Sandbox Code Playgroud)
小智 11
控制器:
return redirect()->route('subscriptions.index')->withSuccess(['Success Message here!']);
Run Code Online (Sandbox Code Playgroud)
刀刃
@if (session()->has('success'))
<div class="alert alert-success">
@if(is_array(session('success')))
<ul>
@foreach (session('success') as $message)
<li>{{ $message }}</li>
@endforeach
</ul>
@else
{{ session('success') }}
@endif
</div>
@endif
Run Code Online (Sandbox Code Playgroud)
您始终可以将此部分另存为单独的刀片文件并轻松包含在内。例如:
<div class="row">
<div class="col-md-6">
@include('admin.system.success')
<div class="box box-widget">
Run Code Online (Sandbox Code Playgroud)
您可以简单地使用back()
函数进行重定向,无需使用redirect()->back()
确保您使用的是 5.2 或高于 5.2 的版本。
您可以将您的代码替换为以下代码。
return back()->with('message', 'WORKS!');
Run Code Online (Sandbox Code Playgroud)
在视图文件中替换下面的代码。
@if(session()->has('message'))
<div class="alert alert-success">
{{ session()->get('message') }}
</div>
@endif
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,您可以在这里阅读
back()
只是一个辅助函数。它在做同样的事情redirect()->back()
一种方法是在会话中发送消息,如下所示:
控制器:
return redirect()->back()->with('success', 'IT WORKS!');
Run Code Online (Sandbox Code Playgroud)
查看:
@if (session()->has('success'))
<h1>{{ session('success') }}</h1>
@endif
Run Code Online (Sandbox Code Playgroud)
另一种方法是创建会话并将文本直接放在视图中:
控制器:
return redirect()->back()->with('success', true);
Run Code Online (Sandbox Code Playgroud)
查看:
@if (session()->has('success'))
<h1>IT WORKS!</h1>
@endif
Run Code Online (Sandbox Code Playgroud)
您可以在此处查看完整文档:Redirecting With Flashed Session Data
我希望它非常有帮助,问候。
归档时间: |
|
查看次数: |
99548 次 |
最近记录: |