在我尝试注销会话时,在我的Laravel 5应用程序中,有时只注销"刷新"这个页面,我已经尝试了几乎所有的东西。
我的退出代码是默认代码:
public function getLogout()
{
Auth::logout();
Session::flush();
return redirect('/');
}
可能是更新通知的定时ajax请求吗?计时器在10秒内运行10 ...当我点击注销时,我已尝试使用此代码停止所有请求:
//Handle logout
$(document).on('click', "#logout", function(event){
for (var i = 1; i < 99999; i++)
window.clearInterval(i);
});
$.xhrPool = [];
$.xhrPool.abortAll = function() {
$(this).each(function(idx, jqXHR) {
jqXHR.abort();
});
$.xhrPool = [];
};
$.ajaxSetup({
beforeSend: function(jqXHR) {
$.xhrPool.push(jqXHR);
},
complete: function(jqXHR) {
var index = $.xhrPool.indexOf(jqXHR);
if (index > -1) {
$.xhrPool.splice(index, 1);
}
}
});
它还能做什么?
编辑:
Ajax计时器代码:
setInterval(function(){
$.ajax({
url: '/notification/update',
type: 'POST',
data: {
last: last
},
success: function (response) {
//does something
}
});
},10000);
注销:
<a href="{{URL::route('root') . '/user/logout'}}" id="logout"><i class="fa fa-fw fa-power-off"></i> Log Out</a>
此按钮发送到调用第一个注销功能的路由,我不明白为什么有时只刷新页面。