Resumen: mostrar cómo solucionar el error 419 Page Expired en Laravel, mismo que se ocasiona al enviar un formulario o al hacer una petición AJAX.
Explicación del error
Este error de programación en Laravel nos puede ocurrir al empezar a usar este framework. Se trata de que enviamos un formulario pero en lugar de que los datos se guarden, aparece un error 419 y dice “Page expired”.
El problema es que no estamos enviando el token CSRF con el formulario. Es decir, tenemos algo así:
Podemos tener varios campos, pero dentro del formulario debe estar un input hidden con el token CSRF para prevenir ataques.
Solución
Simplemente agrega el token CSRF a tu formulario. Con blade esto es fácil, solo debes colocar @csrf
dentro del form. Así (línea 4):
Eso va a generar (al renderizarse) algo así:
De este modo estarás enviando el token CSRF en la petición, y de este modo Laravel dejará de mostrar ese error.
Si en cambio este error te aparece al hacer peticiones AJAX, mira cómo agregarlo a las peticiones asíncronas.
Recomiendo revisar los archivos controladores y de rutas. Cuando quedan caracteres y espacios antes de <?php, puede arrojar este error. (Error 419 Page Expired)