【问题标题】:Data is not being passed with redirect数据未通过重定向传递
【发布时间】:2015-05-19 01:55:50
【问题描述】:

Bellow 是重定向到路由的代码。我正在尝试使用 $success 获取成功变量,但它给出了错误“未定义的变量:成功”。我还尝试将数组格式的数据传递给 with 方法。我该如何纠正?

if ($data->save())

      return redirect('/cases/ppost/notification')->with('success', 'Your case has been posted.')->with('caseNo', $data->id);

【问题讨论】:

  • 尝试session('success')Session::get('success')。这两个选项都应该有效。
  • 谢谢 Kajetons...它解决了我的问题..

标签: php laravel laravel-5 laravel-routing


【解决方案1】:

不会吧??

Redirect::route('/cases/ppost/notification')->with( array('success'=>'Your case has been posted.','caseNo'=>$data->id)) ;

【讨论】:

  • return redirect('user/login')->with('message', '登录失败');我在 laravel 文档上看到过。 laravel.com/docs/5.0/responses
  • 然后传递一个数组应该可以工作..请传递数组,让我知道你得到了什么..
  • 你需要使用 Redirect::route...检查这里..数组正在工作..stackoverflow.com/questions/25460068/…
  • 问题解决了。只有闪烁的数据通过函数。我使用 session('success') 修复了它。谢谢你帮助我..
  • 是的,我是对的。,..redirect 只保留 FLASH 相关的东西..它不携带数组..您也可以在 larvel 中传递数组..您将不得不使用 Redirect::路线..我已经修改了您也可以使用的答案..
【解决方案2】:

根据文档,redirect()->with() 方法不会将任何数据分配给您的视图,而是将其闪烁到会话中:

http://laravel.com/docs/5.0/responses#redirects

使用 Flash 数据返回重定向

重定向到新的 URL 并将数据闪烁到会话是 通常同时进行。因此,为方便起见,您可以创建一个 RedirectResponse 实例和闪存数据在单个会话中 方法链:

return redirect('user/login')->with('message', '登录失败');

这意味着您将不得不在您的视图中访问它。这可能看起来像这样:

@if (Session::has('message'))
    <div class="alert alert-info">{{ Session::get('message') }}</div>
@endif

【讨论】:

    猜你喜欢
    • 2012-05-14
    • 2016-12-22
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    • 1970-01-01
    • 2013-02-03
    • 1970-01-01
    • 2012-09-08
    相关资源
    最近更新 更多