我有一个名为“postContact”的路由帖子,当帖子成功时,我重定向到放置帖子的同一个 contact.blade.php:
<form action="{{ route('post_contact) }}"></form>
如果帖子成功,我想看到一条消息,但 Input::get('some data') 对我不起作用。
这是我的 Controller 简历:
public function postContact($params) {
//if successful
$msg_params = array(
'msg_type' => 'success',
'msg_text' => 'my text to show',
);
return redirect()->back()->withInput($msg_params);
}
但是在 contact.blade.php 中这不起作用:
@if(isset($msg_type))
<div class="alert">{{ $msg_text }}</div>
@endif
变量不存在...
我不想在这里使用 flash 数据,因为 contact.blade 是另一个外部应用程序 laravel 的模块,无法共享 session 。
这里发生了什么?
最佳答案
因为进行重定向,这些变量是在 session 中设置的。所以你可以尝试:
@if(Session::has('msg_type'))
<div class="alert">{{ Session::get('msg_text') }}</div>
@endif
如果你不想使用 session 变量,那么你可以使用路由参数。您可以使用 Request
外观获取参数:
@if(Request::has('msg_type'))
<div class="alert">{{ Request::get('msg_text') }}</div>
@endif
关于php - 输入在 Laravel 中不起作用时重定向回来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37406924/