我试图重定向到上一页的消息时,有一个致命的错误。
App::fatal(function($exception)
{
return Redirect::back()->with('msg', 'The Message');
}
在视图中尝试访问msg
Sessions::get('msg')
但是什么都没有渲染,是我做错了吗?
我试图重定向到上一页的消息时,有一个致命的错误。
App::fatal(function($exception)
{
return Redirect::back()->with('msg', 'The Message');
}
在视图中尝试访问msg
Sessions::get('msg')
但是什么都没有渲染,是我做错了吗?
当前回答
对于拉拉维尔 5.6.*
在尝试Laravel 5.6提供的一些答案时。*,很明显已经有了一些改进,我将在这里发布,以方便那些无法找到解决方案的其余答案。
STEP 1:转到你的控制器文件,在类之前添加这个:
use Illuminate\Support\Facades\Redirect;
步骤2: 将此添加到想要返回重定向的地方。
return Redirect()->back()->with(['message' => 'The Message']);
步骤3: 转到刀片文件并按如下方式编辑
@if (Session::has('message'))
<div class="alert alert-error>{{Session::get('message')}}</div>
@endif
然后测试一下,然后感谢我。
这应该适用于laravel 5.6。*和可能5.7.*
其他回答
我也遇到过同样的问题,这个方法奏效了。
控制器
return Redirect::back()->withInput()->withErrors(array('user_name' => $message));
View
<div>{{{ $errors->first('user_name') }}}</div>
Try
return Redirect::back()->withErrors(['msg' => 'The Message']);
在视图中调用这个
@if($errors->any())
<h4>{{$errors->first()}}</h4>
@endif
另一种方法是
控制器
use Session;
Session::flash('message', "Special message goes here");
return Redirect::back();
View
@if (Session::has('message'))
<div class="alert alert-info">{{ Session::get('message') }}</div>
@endif
在控制器
例如
return redirect('login')->with('message',$message);
刀片锉 消息将存储在会话中而不是变量中。
例如
@if(session('message'))
{{ session('message') }}
@endif
这是100%的解决方案
*上面提到的解决方案不适合我,但这一个适用于我在laravel 5.8:
$status = 'Successfully Done';
return back()->with(['status' => $status]);
并接受它为:
@if(session()->has('status'))
<p class="alert alert-success">{{session('status')}}</p>
@endif