Laravel 重定向->back() 返回空参数

Fun*_*end 5 php laravel laravel-5

我有一个index.blade.php页面,我有一个显示警报成功或错误的代码:

\n\n
    <!-- ALERTS -->\n    @if (isset($msg))\n        @if ($msg_type == \'error\')\n            <div id="alert" class="alert alert-danger" role="alert">{{ $msg }}</div>\n        @else\n            <div id="alert" class="alert alert-success" role="alert">{{ $msg }}</div>\n        @endif\n        <script>setTimeout("document.getElementById(\'mensajecarrito\').style.display=\'none\'",6000);</script>\n    @endif\n    <!-- //ALERTS -->\n
Run Code Online (Sandbox Code Playgroud)\n\n

这个索引有一个表单,这个表单的url POST到post_designs url,这是他的控制器方法:

\n\n
public function postDesign() {\n\n        if (Session::has(\'FUNCTION\'))\n                $function = Session::get(\'FUNCTION\');\n\n            if (Input::has(\'FUNCTION\'))\n                $function = Input::get(\'FUNCTION\'); \n\n            if (isset($function))\n            {           \n                switch($function)\n                {\n                    case \'createDesign\':   \n\n                        try\n                        {   \n                            //do something good\n                            $msg_type = \'success\';                      \n                            $msg = \'Design created successfully\';     \n                        }\n                        catch(FotiApiException $e)\n                        {\n                            $msg_type = \'error\';                    \n                            $msg = \'Unexpected error\';       \n                        }\n\n                    break;\n                }                           \n            }\n\n\n\n        return back()->with(array(\'msg\' => $msg, \'msg_type\' => $msg_type));\n    }\n
Run Code Online (Sandbox Code Playgroud)\n\n

问题是,当返回到我的index.blade.php 时,$msg 和$msg_type 变量为空...

\n\n

我不\xc2\xb4t明白,我的项目是Laravel 5.2.3,我有正确的路线中间件:\n\n\n

Route::group([\'middleware\' =>[ \'web\']], function () {\n\n    # Index\n    Route::get(\'/\',[\'as\'=> \'index\',\'uses\' => \'WebController@getIndex\']);\n\n    // # POSTS\n    Route::post(\'/post-design\', [\'as\' => \'post_design\', \'uses\' => \'WebController@postDesign\']);\n\n});\n
Run Code Online (Sandbox Code Playgroud)\n

小智 5

你可以使用 withInput()

return back()->withInput(array('msg' => $msg, 'msg_type' => $msg_type));
Run Code Online (Sandbox Code Playgroud)

如果您想使用刀片中的数据,则保存在会话中的数据。尝试使用 old('msg') 或 old('msg_type')

@if(old('msg'))
<p>msg:{{ old('msg') }}<p>
@endif
Run Code Online (Sandbox Code Playgroud)

php

$msg = $request->old('msg');
Run Code Online (Sandbox Code Playgroud)

laravel 请求旧输入


Owa*_*jid 0

我是 laravel 5.2 的新手,关于路线没有必要,但路线

['middleware' =>[ 'web']]
Run Code Online (Sandbox Code Playgroud)

场景 laravel 5.2 中的所有路由都在其中,所以尝试将其删除


并返回具有 2 个值的视图,尝试使其如下:

 return back()->with('msg', $msg)->with('msg_type', $msg_type);
Run Code Online (Sandbox Code Playgroud)

我希望能解决这个问题:)