javascript 如何在用户关闭laravel标签页时自动注销

rta7y2nd  于 2023-06-28  发布在  Java
关注(0)|答案(1)|浏览(99)

我在Laravel中写了一段代码,但是当用户离开页面时,它不会自动退出
当我试图弄清楚它开始注销时,任何按钮/侧边栏点击页面上,给予我一个解决方案

brgchamk

brgchamk1#

创建如下文件夹:public/js/logout.js或resources/js/logout.js

window.addEventListener('beforeunload', function() {
    var xhr = new XMLHttpRequest();
    xhr.open('POST', '/logout', true);
    xhr.setRequestHeader('X-CSRF-TOKEN', '{{ csrf_token() }}');
    xhr.send();
});

包括HTML模板中文件,或者如果您使用的是任何布局文件,则还可以在

<script src="{{ asset('path/to/logout.js') }}"></script>

定义处理注销请求的路由

Route::post('/logout', 'Auth\LoginController@logout')->name('logout');

使用csrf_token内联csrf内标识

window.addEventListener('beforeunload', function() 
{ var xhr = new XMLHttpRequest(); 
xhr.open('POST', '/logout', true);
 xhr.setRequestHeader('X-CSRF-TOKEN', 'your-csrf-token'); 
xhr.send(); });

注意:你的Auth\LoginController类,确保你有注销如果它不存在,你可以添加它或使用Laravel提供的默认AuthenticatesUsers trait

相关问题