Ich versuche, eine einfache Zurück-Schaltfläche auf einer Seite zu erstellen. Der Benutzer kann von zwei verschiedenen Seiten zu dieser Seite gelangen, daher möchte ich wissen, von welcher Seite er angekommen ist. Ist das möglich?
Ich versuche, eine einfache Zurück-Schaltfläche auf einer Seite zu erstellen. Der Benutzer kann von zwei verschiedenen Seiten zu dieser Seite gelangen, daher möchte ich wissen, von welcher Seite er angekommen ist. Ist das möglich?
Antworten:
In Laravel können Sie Folgendes tun: <a href="{{ Request::referrer() }}">Back</a>
(vorausgesetzt, Sie verwenden Blade).
Laravel 4
{{ URL::previous() }}
Laravel 5+
{{ url()->previous() }}
URL::previous()
stattdessen.
Ich weiß, dass dies eine alte Frage ist, aber ich habe sie gefunden, als ich nach der gleichen Lösung gesucht habe. Die obige Lösung scheint in Laravel 4 nicht zu funktionieren. Sie können sie jedoch jetzt verwenden:
<a href="{{ URL::previous() }}">Go Back</a>
Ich hoffe, dies hilft Leuten, die in L4 nach dieser Funktion suchen
(Quelle: https://github.com/laravel/framework/pull/501/commits )
Laravel 5.2+, Zurück-Taste
<a href="{{ url()->previous() }}" class="btn btn-default">Back</a>
Die Verwendung von {{ URL:previous() }}
do funktioniert zwar, aber wenn Sie dieselbe Route mit demselben Namen verwenden, um mehrere Ansichten anzuzeigen, gelangen Sie zurück zum ersten Endpunkt dieser Route.
In meinem Fall habe ich eine benannte Route, die basierend auf einem vom Benutzer ausgewählten Parameter 3 verschiedene Ansichten rendern kann. Natürlich habe ich einen Standardfall für die erste Eingabe in diese Route, wenn der Benutzer noch keine Option ausgewählt hat.
Wenn ich verwende URL:previous()
, bringt mich Laravel zur Standardansicht zurück, auch wenn der Benutzer eine andere Option ausgewählt hat. Nur mit Javascript innerhalb der Schaltfläche konnte ich zur richtigen Ansicht zurückkehren:
<a href="javascript:history.back()" class="btn btn-default">Voltar</a>
Ich habe dies auf Laravel 5.3 getestet, nur zur Verdeutlichung.
Das Folgende ist eine vollständige Blade-Lösung (die von Laravel verwendete Template-Engine):
{!! link_to(URL::previous(), 'Cancel', ['class' => 'btn btn-default']) !!}
Das Optionsarray mit der Klasse ist optional. In diesem Fall gibt es das Design für eine Bootstrap 3-Schaltfläche an.
Auf 5.1 konnte ich das nur zum Laufen bringen.
<a href="{{ URL::previous() }}" class="btn btn-default">Back</a>
Eine der folgenden Möglichkeiten löst Ihr Problem
URL::previous()
URL::back()
andere
URL::current()
Sie können Javascript für dieses Provblem verwenden. Es wird ein Link aus dem Browserverlauf abgerufen.
<script>
function goBack() {
window.history.back();
}
</script>
<button onclick="goBack()">Go Back</button>
Sie können {{URL :: previous ()}} verwenden, aber es ist nicht perfekt UX.
Wenn Sie beispielsweise die Taste F5 drücken und erneut auf die Schaltfläche Zurück mit {{URL :: previous ()}} klicken, bleiben Sie in.
Ein guter Weg ist die Verwendung von {{route ('page.edit', $ item-> id)}}. Es ist immer eine echte Seite, die Sie umleiten möchten.
<a href="{{ url()->previous() }}" class="btn btn-warning"><i class="fa fa-angle-left"></i> Continue Shopping</a>
Dies funktionierte in Laravel 5.8
{{ url()->previous() }}
in Laravel 5