如何知道是否有人通过javascript登录?

PHP我会做

if (isset($_COOKIE['user']) && $_COOKIE['user'] == $valueFromDb)
 echo 'logged';

但是在javascript中我该怎么检查呢?

谢谢

解决方法

没有向服务器发出请求就没有可靠的方法来执行此操作,因为会话可能已在服务器端过期.在一个项目中,我做了以下,不完美的方式:

checkAuth() {
    var logged = (function() {
        var isLogged = null;
        $.ajax({
            'async': false,'global': false,'url': '/user/isLogged/','success': function(resp) {
                isLogged = (resp === "1");
            }
        });
        return isLogged;
    })();
    return logged;
}

我说不完美,因为它会产生暂时锁定浏览器的同步请求.它的优势在于checkAuth()可以从客户端应用程序的任何部分可靠地调用,因为它强制浏览器在继续执行JS代码之前等待结果,但这就是它.

替代的,异步(非锁定)方法是做这样的事情:

$.ajax({
    'url': '/user/isLogged/','success': function(resp) {
        if(resp === "1") {
            // do your thing here,no need
            // for async: false  
        }
    }
});

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...