很多时候我们使用会话变量在页面中存储数据。当用户从一个页面跳到另一个页面时,我需要从JavaScript中终止会话。可能吗。如果是,那么请指导我。
提前致谢
答案 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/