php-Laravel会话通过Ajax调用自动扩展?
作者:互联网
我有一个间隔运行的小JS脚本:
<script>
function checkAuthState() {
$.get('/session/check', function(response) {
console.log(response);
});
}
setInterval(checkAuthState, 10000);
</script>
控制器动作是-当前-虚拟动作:
<?php
public function checkAuthState() {
return response()->json(array('success' => true));
}
我注意到的是,每次进行Ajax调用时,laravel_session cookie的到期日期都会自动延长-10秒(与JS间隔匹配).
为什么会这样?
我需要为会话期满时的情况添加一个处理程序,但是显然每10秒钟命中服务器会阻止一次(?).我糊涂了.
我的session.php配置中的重要设置:
'lifetime' => 1, /* 1 min, for testing purposes */
'expire_on_close' => false,
解决方法:
当访问者似乎已离开站点并离开该站点时,会话将终止.假定为“他们上次向站点提出请求后的一定时间”.
Ajax请求是一个请求(就服务器而言,它就像其他请求一样),因此cookie会像其他任何请求一样被扩展.
标签:laravel-5-4,laravel,php 来源: https://codeday.me/bug/20191025/1928447.html