如何从javascript中杀死会话

时间:2010-11-25 07:46:45

标签: javascript

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

提前致谢

4 个答案:

答案 0 :(得分:7)

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

这样做的唯一方法是从javascript使用Ajax来调用一些自定义页面,例如将变量作为要删除的会话密钥。

答案 1 :(得分:2)

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

请参阅此处了解如何处理来自JavaScript的Cookie:http://www.quirksmode.org/js/cookies.html

答案 2 :(得分:2)

您必须触发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 :(得分:1)

Session对象是服务器对象,不能直接从javascript访问它。 你应该创建一个ajax调用服务器,以杀死会话。 您可以使用jquery来做到这一点,非常简单,请查看此链接。 http://api.jquery.com/jQuery.ajax/