Botón Atrás de Laravel

4 minutos de lectura

avatar de usuario
cosapostolo

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?

  • {{ url()->previous() }} en Laravel 5

    – Connor Sanguijuela

    9 de mayo de 2019 a las 16:03

avatar de usuario
Luego

En Laravel, puedes hacer algo como esto: <a href="https://stackoverflow.com/questions/12333739/{{ Request::referrer() }}">Back</a> (asumiendo que estás usando Blade).

Laravel 4

{{ URL::previous() }}

Laravel 5+

{{ url()->previous() }}

Documentación de Laravel

  • Gracias esto funciona!! No pude encontrar esto en la documentación… ¿hay algún otro lugar donde pueda sacar más provecho de laravel?

    – cosapostolo

    08/09/2012 a las 19:40

  • Puedes consultar el documentaciónUsa el de ellos forosexplore la fuente en la carpeta laravel o cuelgue en su canal de IRC #laravel en freenode. Recomiendo encarecidamente el canal IRC con mucha gente amable y servicial para responder a sus preguntas, de día o de noche.

    – Anónimo

    08/09/2012 a las 19:55

  • @yannishristofakis ¿Estás usando Laravel 4? El comportamiento de la URL cambió, así que use URL::previous() en cambio.

    –Markus Hofmann

    25 de julio de 2013 a las 15:32

  • Solicitud::header(“referente”);

    – Ramesh

    7 de marzo de 2014 a las 4:37

  • el problema con este y el enfoque URL::anterior() es que se basa en la referencia http. 1) Es posible que no lo establezcan todos los agentes de usuario, por lo que no puede confiar en él todo el tiempo. 2) Además, si está configurado pero visita la página específica desde un enlace en una fuente externa, volverá a esa fuente.

    – morksinaanab

    28 de marzo de 2014 a las 7:50


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="https://stackoverflow.com/questions/12333739/{{ URL::previous() }}">Go Back</a>

Espero que esto ayude a las personas que buscan esta característica en L4

(Fuente: https://github.com/laravel/framework/pull/501/commits)

avatar de usuario
Akshay Khale

Laravel 5.2+, botón Atrás

<a href="https://stackoverflow.com/questions/12333739/{{ url()->previous() }}" class="btn btn-default">Back</a>

avatar de usuario
Thiago Cardoso

de hecho usando {{ URL:previous() }} funciona, pero si está utilizando una ruta con el mismo nombre para mostrar varias vistas, lo llevará de regreso al primer punto final de esta ruta.

En mi caso, tengo una ruta con nombre, que en función de un parámetro seleccionado por el usuario, puede generar 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="https://stackoverflow.com/questions/12333739/javascript:history.back()" class="btn btn-default">Voltar</a>

Probé esto en Laravel 5.3, solo para aclarar.

avatar de usuario
mike.bronner

La siguiente es una solución Blade completa (el motor de plantillas que utiliza 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 para un botón de Bootstrap 3.

  • Hay una cosa que debe cambiarse, en lugar de {{ … }}, debe usar {!! … !!} de lo contrario, la cadena se escaparía.

    – happyhardik

    24 de diciembre de 2015 a las 12:45

  • Cierto, en ese momento esto funcionó en Laravel 4 antes de que se escaparan por defecto. Actualizado para trabajar con las versiones actuales de Laravel. Gracias 🙂

    – mike.bronner

    24 de diciembre de 2015 a las 16:37

avatar de usuario
mhankins

En 5.1 solo pude hacer que esto funcionara.

<a href="https://stackoverflow.com/questions/12333739/{{ URL::previous() }}" class="btn btn-default">Back</a>

  • Hay una cosa que debe cambiarse, en lugar de {{ … }}, debe usar {!! … !!} de lo contrario, la cadena se escaparía.

    – happyhardik

    24 de diciembre de 2015 a las 12:45

  • Cierto, en ese momento esto funcionó en Laravel 4 antes de que se escaparan por defecto. Actualizado para trabajar con las versiones actuales de Laravel. Gracias 🙂

    – mike.bronner

    24 de diciembre de 2015 a las 16:37

avatar de usuario
Sohanur Rahman

Puede usar javascript para este problema. Es un enlace de recuperación del historial del navegador.

<script>
function goBack() {
  window.history.back();
}
</script>
<button onclick="goBack()">Go Back</button>

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad