index
页面上的按钮:
$('#killsession').click(function() {
$.get('killsession.php');
alert("OK");
});
killsession.php
:
<?php
session_start():
session_destroy();
?>
使用此按钮终止会话后,index
上任何与会话相关的功能仍然有效(会话变量仍然存在/存在)。例如,我有一个计数会话变量,当我单击某个按钮时,该变量会递增。这个计数变量在杀死会话后不会失去计数点。
是否可以使用JQuery按钮终止会话?
答案 0 :(得分:5)
首次加载页面时会加载所有PHP会话项。只要页面打开,它们仍然在页面/浏览器内存中。您需要在终止会话后重新加载页面。您可以使用javascript window.location.href = window.location.href
执行此操作答案 1 :(得分:4)
$('#killsession').click(function() {
$.get('killsession.php', function() {
alert("the server page executed");
//Here you may do further things.
window.location = window.location;
});
});
killsession.php
session_start();
$_SESSION = array();
$params = session_get_cookie_params();
setcookie( session_name(), '', time() - 42000,
$params["path"],
$params["domain"],
$params["secure"],
$params["httponly"]
);
session_destroy();
exit('OK');
答案 2 :(得分:1)
确保你只在ajax函数的回调中做其他事情(比如检查会话)。无论回调中的内容是什么,都会在收到ajax服务器页面的响应后执行。
$('#killsession').click(function() {
$.get('killsession.php',function(){
alert("the server page executed");
//Here you may do further things.
});
});