我正在尝试在页面上创建一个简单的后退按钮。用户可以从两个不同的页面到达此页面,因此我想知道他从哪个页面到达。那可能吗?
Answers:
在Laravel中,您可以执行以下操作:(<a href="{{ Request::referrer() }}">Back</a>
假设您使用的是Blade)。
Laravel 4
{{ URL::previous() }}
Laravel 5+
{{ url()->previous() }}
URL::previous()
改用。
我知道这是一个古老的问题,但是我在寻找相同的解决方案时发现了它。上面的解决方案似乎在Laravel 4中不起作用,但是您现在可以使用它:
<a href="{{ URL::previous() }}">Go Back</a>
希望这对在L4中寻找此功能的人有所帮助
(来源:https : //github.com/laravel/framework/pull/501/commits)
Laravel 5.2+,后退按钮
<a href="{{ url()->previous() }}" class="btn btn-default">Back</a>
以下是完整的Blade(Laravel使用的模板引擎)解决方案:
{!! link_to(URL::previous(), 'Cancel', ['class' => 'btn btn-default']) !!}
具有该类的options数组是可选的,在这种情况下,它指定Bootstrap 3按钮的样式。
确实确实可以使用{{ URL:previous() }}
,但如果您使用相同的命名路线来显示多个视图,它将带您回到该路线的第一个端点。
就我而言,我有一个命名的路线,该路线基于用户选择的参数,可以呈现3个不同的视图。当然,当用户尚未选择任何选项时,我有一条默认情况下的此路径中的首次输入。
使用时URL:previous()
,即使用户选择了其他选项,Laravel也会带我回到默认视图。仅在按钮内部使用了javascript,我完成了返回正确视图的操作:
<a href="javascript:history.back()" class="btn btn-default">Voltar</a>
为了澄清起见,我在Laravel 5.3上对此进行了测试。
您可以使用javascript来解决此问题。它是从浏览器历史记录中检索链接。
<script>
function goBack() {
window.history.back();
}
</script>
<button onclick="goBack()">Go Back</button>
{{ url()->previous() }}
在Laravel 5