我正在尝试在页面上创建一个简单的后退按钮。用户可以从两个不同的页面到达此页面,因此我想知道他到达的页面。这可能吗?
答案 0 :(得分:115)
在Laravel中,您可以执行以下操作:<a href="{{Request::referrer()}}">Back</a>
(假设您正在使用刀片)。
在Laravel 4中
{{ URL::previous() }}
答案 1 :(得分:68)
我知道这是一个古老的问题,但我在寻找同样的解决方案时找到了它。上面的解决方案似乎不适用于Laravel 4,但您现在可以使用它:
<a href="{{ URL::previous() }}">Go Back</a>
希望这有助于在L4中寻找此功能的人
(资料来源:https://github.com/laravel/framework/pull/501/commits)
答案 2 :(得分:44)
Laravel 5.2+,后退按钮
<a href="{{ url()->previous() }}" class="btn btn-default">Back</a>
答案 3 :(得分:17)
以下是一个完整的Blade(Laravel使用的模板引擎)解决方案:
{!! link_to(URL::previous(), 'Cancel', ['class' => 'btn btn-default']) !!}
带有类的options数组是可选的,在这种情况下,它指定了Bootstrap 3按钮的样式。
答案 4 :(得分:13)
确实使用{{ URL:previous() }}
可以正常工作,但如果您使用相同的命名路径来显示多个视图,则会将您带回到此路径的第一个端点。
在我的情况下,我有一个命名路由,它基于用户选择的参数,可以渲染3个不同的视图。当然,当用户没有选择任何选项时,我有第一次输入此路线的默认情况。
当我使用URL:previous()
时,即使用户选择了其他选项,Laravel也会将我带回默认视图。只使用我完成的按钮内的javascript才能返回正确的视图:
<a href="javascript:history.back()" class="btn btn-default">Voltar</a>
我在Laravel 5.3上测试了这个,只是为了澄清。
答案 5 :(得分:12)
在5.1上我只能让它工作。
<a href="{{ URL::previous() }}" class="btn btn-default">Back</a>
答案 6 :(得分:2)
您可以使用javascript解决此问题。 它是从浏览器历史记录中检索链接。
$(document).on('click', 'a[id^="elem"]', function () {
alert('hello');
});
ParentView -> ChildView -> StackView -> UIButton
答案 7 :(得分:1)
以下其中一个解决您的问题
URL::previous()
URL::back()
其他
URL::current()
答案 8 :(得分:0)
您可以使用{{URL :: previous()}} 但这不是完美的用户体验。
例如,当您按下F5按钮并再次使用{{URL :: previous()}}单击“返回按钮”时,您将停留在该位置。
一种好方法是使用{{route('page.edit',$ item-> id)}}它始终是您要重定向的真实页面。
答案 9 :(得分:0)
<a href="{{ url()->previous() }}" class="btn btn-warning"><i class="fa fa-angle-left"></i> Continue Shopping</a>
这在Laravel 5.8中有效