代码之家  ›  专栏  ›  技术社区  ›  Thomas

如何从javascript中终止会话

  •  2
  • Thomas  · 技术社区  · 15 年前

    很多时候我们使用会话变量在页面中存储数据。当用户从一个页面跳转到另一个页面时,我需要一种方法来终止JavaScript中的会话。有可能吗。如果是,那么请引导我。

    提前谢谢

    4 回复  |  直到 15 年前
        1
  •  7
  •   Gideon    15 年前

    您需要告诉服务器终止会话变量。

    唯一的方法是使用javascript调用一些自定义页面,例如使用要删除的会话键作为变量。

        2
  •  2
  •   Florian Müller    15 年前

    必须触发AJAX事件,例如:

    function kill_session() {
        if (window.XMLHttpRequest)
            {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
        }
        else
            {// code for IE6, IE5
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
    
        xmlhttp.open("GET","session_destroyer.php",false);
        xmlhttp.send();
    
        document.getElementById("id_of_a_hidden_div").innerHTML=xmlhttp.responseText; 
    }
    

    您的session_destroyer.php可能如下所示:

    <?php
        session_start();
        session_destroy();
    ?>
    
        3
  •  2
  •   Alin P.    15 年前

    删除会话cookie。对于PHP,它被称为PHPSESSID。如果执行此操作,浏览器将丢失会话ID,并且该客户端将无法再访问实际会话数据。

    有关如何处理来自JavaScript的cookies,请参见此处: http://www.quirksmode.org/js/cookies.html

        4
  •  1
  •   Ghyath Serhal    15 年前

    会话对象是服务器对象,不能直接从javascript访问它。 您应该创建对服务器的ajax调用,以便终止会话。 您可以使用jquery来实现这一点,非常简单,检查这个链接。 http://api.jquery.com/jQuery.ajax/