在Laravel 5中处理过期令牌的最佳方法是什么
我的意思是我有一个页面,并且有一些执行ajax请求的链接。当页面加载时,它们工作正常,但是当我等待一段时间后,出现TOKEN MISMATCH错误。
现在,我必须刷新页面以使其重新工作。但是,我不想刷新页面。我想要某种方式来刷新令牌或其他解决方法以使其更正。
我希望你明白我的意思。
解决方法是实际上每隔一定时间获取新令牌,否则您将违背csrf令牌的目的:
<html> <head> <meta name="csrf_token" content="{{ csrf_token() }}"> </head> <body> <script type="text/javascript"> var csrfToken = $('[name="csrf_token"]').attr('content'); setInterval(refreshToken, 3600000); // 1 hour function refreshToken(){ $.get('refresh-csrf').done(function(data){ csrfToken = data; // the new token }); } setInterval(refreshToken, 3600000); // 1 hour </script> </body> </html>
在拉拉韦尔路线
Route::get('refresh-csrf', function(){ return csrf_token(); });
如果出现语法错误,我很抱歉,很久没有使用jquery了,但是我想您会明白的