laravel redirect-> back()没有为我提供有效的网址

时间:2015-11-24 22:24:31

标签: php laravel

因此,在我的一个视图中,我生成一个redirect() - > back() - > with()命令将用户发送回上一页。

 <a  href="{{ redirect()->back()->with('redirectRewards', true)}}"><button>Go Back</button></a>

我遇到的问题是它没有为我提供网址。这就是我得到的。

 http://localhost:8888/pp/public/HTTP/1.0%20302%20FoundCache-Control:%20no-cacheDate:%20%20%20%20%20%20%20%20
%20%20Tue,%2024%20Nov%202015%2022:23:12%20GMTLocation:%20%20%20%20%20%20http://localhost:8888/pp/public/task/matching/response/house%3C!DOCTYPE%20html%3E%3Chtml%3E%20%20%20%20%3Chead%3E%20%20%20%20%20%20%20%20%3Cmeta%20charset=%22UTF-8%22%20/%3E%20%20%20%20%20%20%20%20%3Cmeta%20http-equiv=%22refresh%22%20content=%221;url=http://localhost:8888/pp/public/task/matching/response/house%22%20/%3
E%20%20%20%20%20%20%20%20%3Ctitle%3ERedirecting%20to%20http://localhost:8888/pp/public/task/matching/response/house%3C/title%3E%20%20%20%20%3C/head%3E%20%20%20%20%3Cbody%3E%20%20%20%20%20%20%20%20Redirecting%20to%20%3Ca%20href=%22http://localhost:8888/pp/public/task/matching/response/house%22%3Ehttp://localhost:8888/pp/public/task/matching/response/house%3C/a%3E.%20%20%20%20%3C/body%3E%3C/html%3E

所以我认为我正在使用错误的功能,但我怎么能简单地让一个back()网址工作​​?

4 个答案:

答案 0 :(得分:5)

您可能想要使用的是URL::previous()

 <a href="{{ URL::previous() }}">Go Back</a>

redirect()->back()方法实际上调用了URL::previous()方法来创建RedirectResponse

答案 1 :(得分:2)

redirect()会生成一个网址。它返回Illuminate\Routing\Redirector的实例。它意味着在Controller Method或Route Closure中使用。

您需要route() helper method

$url = route('routeName');

答案 2 :(得分:0)

实际上打印任何输出后都无法使用GameObject,它将无效。 如果您想要链接返回。只需使用简单的JS脚本,如here所述。

答案 3 :(得分:0)

尝试使用

{{ Request::referrer() }}

你可以通过使用PHP来实现同样的目标(但我更喜欢Laravel的语法,因为它更具可读性和清洁性:

$_SERVER["HTTP_REFERER"]