I have a Laravel 5.1 application with Ajax content loaded at start up.
I have placed the CSRF meta tag to page head:
<meta name="csrf-token" content="" />
And I use it in jquery ajax requests:
$.ajaxSetup(
{
headers:
{
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content")
}
});
Everything works perfectly under normal circumstances. But when I open a 404 error page without a previous session, my ajax requests get an error: TokenMismatchException in VerifyCsrfToken.php
I have an 404 error handler in file: app\Exceptions\Handler.php
public function render($request, Exception $e)
{
if ($e instanceof NotFoundHttpException)
{
$foo = \App\Foo::foo();
return \Response::make(view("errors.404", compact("foo")), 404);
}
return parent::render($request, $e);
}
I can repeat this error by opening a private browser window and opening my site with an url to a non existing page. It persists on page reloads. But if I go to an existing page and try the 404 url again, it works fine.
Any ideas how fix this problem?
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire