在Laravel中POST后如何正确重定向?

时间:2016-09-24 07:09:30

标签: laravel

我有多条评论路线,当我点击回复时,我会被重定向到我可以发表评论回复的路线。如何正确存储我来自哪里的路线,然后在发布回复后重定向回去?

我考虑将URL :: previous作为参数传递并将其存储到隐藏输入中,但如果页面被用户刷新则会变空。另一种方式可能是存储在会话中,但后来我不知道如何可靠地使它过期......

8 个答案:

答案 0 :(得分:2)

重定向并返回成功消息

return redirect()->back()->with('success', 'Data added successfully');

答案 1 :(得分:1)

使用return redirect()->back();

答案 2 :(得分:0)

对前一个网址使用return Redirect::back()功能。

答案 3 :(得分:0)

您可以使用return Redirect::back();return Redirect::to(URL::previous() . "#whatever");

答案 4 :(得分:0)

您可以在会话中保留2-3-4-5个网址,但不需要将其过期。您可以限制保留的URL数量。另外,请检查我对类似问题的回答here

答案 5 :(得分:0)

当您有回复按钮时,在用户访问页面时将URL存储在会话中。您不必将它过期,当用户使用回复按钮访问下一页时,它将自动更新。

session(['last_url' => 'Request::fullUrl()']);

也不要忘记使用命名空间

Use Request;

如果您真的想在用户重定向后丢弃会话中的值,可以使用:

return redirect()->url(Session::pull('last_url'));

和命名空间

Use Session;

答案 6 :(得分:0)

只需你可以return redirect()->back();

答案 7 :(得分:0)

这样做,

会话中的第一个商店网址

$request->session()->put('previous-url', '/user/demo'); 

像这样使用

$previous_url = Session::get('previous-url'); 
return redirect()->to($previous_url);