Laravel 5.2重定向成功消息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel 5.2重定向成功消息相关的知识,希望对你有一定的参考价值。
我正试图在laravel上找到成功的消息回到我的主页。
return redirect()->back()->withSuccess('IT WORKS!');
由于某种原因,变量$ success在运行此代码后没有获得任何值。
我用来显示成功消息的代码:
@if (!empty($success))
<h1>{{$success}}</h1>
@endif
我已将home和newsletter页面添加到routes.php中的web中间件组,如下所示:
Route::group(['middleware' => 'web'], function () {
Route::auth();
Route::get('/', function () {
return view('home');
});
Route::post('/newsletter/subscribe','NewsletterController@subscribe');
});
有谁知道为什么这似乎不起作用?
你应该从web
中删除routes.php
中间件。手动添加web
中间件导致session and request related problems in Laravel 5.2.27 and higher。
如果它没有帮助(仍然保持routes.php
没有Web中间件),你可以尝试一些不同的方法:
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
所有这些都是正确的,但试试这个直的单线:
{{session()->has('message') ? session()->get('message') : ''}}
一种方法是在会话中发送消息,如下所示:
控制器:
return redirect()->back()->with('success', 'IT WORKS!');
视图:
@if (session()->has('success'))
<h1>{{ session('success') }}</h1>
@endif
其他方法是创建会话并直接将文本放在视图中:
控制器:
return redirect()->back()->with('success', true);
视图:
@if (session()->has('success'))
<h1>IT WORKS!</h1>
@endif
你可以在这里查看完整的文档:Redirecting With Flashed Session Data
我希望这是非常有帮助的,问候。
控制器:
return redirect()->route('subscriptions.index')->withSuccess(['Success Message here!']);
刀
@if (session()->has('success'))
<div class="alert alert-success">
@if(is_array(session()->get('success')))
<ul>
@foreach (session()->get('success') as $message)
<li>{{ $message }}</li>
@endforeach
</ul>
@else
{{ session()->get('success') }}
@endif
</div>
@endif
您始终可以将此部件另存为单独的刀片文件并轻松包含。例如:
<div class="row">
<div class="col-md-6">
@include('admin.system.success')
<div class="box box-widget">
在控制器中
return redirect()->route('company')->with('update', 'Content has been updated successfully!');
在视野中
@if (session('update'))
<div class="alert alert-success alert-dismissable custom-success-box" style="margin: 15px;">
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
<strong> {{ session('update') }} </strong>
</div>
@endif
您可以使用laravel MessageBag将我们自己的消息添加到现有消息中。
要使用MessageBag,您需要使用:
use IlluminateSupportMessageBag;
在控制器中:
MessageBag $message_bag
$message_bag->add('message', trans('auth.confirmation-success'));
return redirect('login')->withSuccess($message_bag);
希望它会帮助一些人。
- 普通
以上是关于Laravel 5.2重定向成功消息的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5.2 - 用户仅在成功登录重定向后登录,一旦我执行操作用户不再登录
如何将客人重定向到登录页面,在laravel 5.2登录后重定向回来[关闭]