Estoy tratando de crear un botón de retroceso simple en una página. El usuario puede llegar a esta página desde dos páginas diferentes, por lo que me gustaría saber desde qué página llegó. ¿Es eso posible?
Estoy tratando de crear un botón de retroceso simple en una página. El usuario puede llegar a esta página desde dos páginas diferentes, por lo que me gustaría saber desde qué página llegó. ¿Es eso posible?
Respuestas:
En Laravel, puedes hacer algo como esto: <a href="{{ Request::referrer() }}">Back</a>
(asumiendo que estás usando Blade).
Laravel 4
{{ URL::previous() }}
Laravel 5+
{{ url()->previous() }}
URL::previous()
en su lugar.
Sé que esta es una pregunta antigua, pero la encontré mientras buscaba la misma solución. La solución anterior no parece funcionar en Laravel 4, sin embargo, puede usar esto ahora:
<a href="{{ URL::previous() }}">Go Back</a>
Espero que esto ayude a las personas que buscan esta función en L4
(Fuente: https://github.com/laravel/framework/pull/501/commits )
Laravel 5.2+, botón de retroceso
<a href="{{ url()->previous() }}" class="btn btn-default">Back</a>
La siguiente es una solución completa de Blade (el motor de plantillas que usa Laravel):
{!! link_to(URL::previous(), 'Cancel', ['class' => 'btn btn-default']) !!}
La matriz de opciones con la clase es opcional, en este caso especifica el estilo de un botón Bootstrap 3.
De hecho, usar {{ URL:previous() }}
Do work, pero si está usando una ruta con el mismo nombre para mostrar múltiples vistas, lo llevará de regreso al primer punto final de esta ruta.
En mi caso, tengo una ruta con nombre, que en base a un parámetro seleccionado por el usuario, puede representar 3 vistas diferentes. Por supuesto, tengo un caso predeterminado para la primera entrada en esta ruta, cuando el usuario aún no ha seleccionado ninguna opción.
Cuando uso URL:previous()
, Laravel me devuelve a la vista predeterminada, incluso si el usuario ha seleccionado alguna otra opción. Solo usando javascript dentro del botón logré regresar a la vista correcta:
<a href="javascript:history.back()" class="btn btn-default">Voltar</a>
Probé esto en Laravel 5.3, solo para una aclaración.
En 5.1 solo pude hacer que esto funcione.
<a href="{{ URL::previous() }}" class="btn btn-default">Back</a>
Uno de los siguientes resuelve su problema
URL::previous()
URL::back()
otro
URL::current()
Puede usar javascript para este problema. Es recuperar el enlace del historial del navegador.
<script>
function goBack() {
window.history.back();
}
</script>
<button onclick="goBack()">Go Back</button>
Puedes usar {{URL :: previous ()}} pero no es una experiencia de usuario perfecta.
Por ejemplo, cuando presiona el botón F5 y hace clic nuevamente en el botón Atrás con {{URL :: anterior ()}}, permanecerá dentro.
Una buena forma es usar {{route ('page.edit', $ item-> id)}} la página siempre verdadera que quieres redirigir.
<a href="{{ url()->previous() }}" class="btn btn-warning"><i class="fa fa-angle-left"></i> Continue Shopping</a>
Esto funcionó en Laravel 5.8
{{ url()->previous() }}
en Laravel 5