已删除的PHP会话仍存在于第二个ajax请求中

已删除的PHP会话仍存在于第二个ajax请求中,php,ajax,session,Php,Ajax,Session,在页面加载时,我正在执行一个ajax请求,并在出现某些情况时删除PHP会话。这是: function load_page(){ console.log("page load function") $.ajax({ url: "ajax/page_load.php", type: "POST", data: "rand="+Math.random()*10000, cache: false, success: function (result) {

在页面加载时,我正在执行一个ajax请求,并在出现某些情况时删除PHP会话。这是:

function load_page(){
console.log("page load function")
$.ajax({
    url: "ajax/page_load.php",
    type: "POST",
    data: "rand="+Math.random()*10000,
    cache: false,
    success: function (result) {
       load_content(window.location.hash);
    }
});
}

下面是加载.php的
页面:

session_start();
require_once("../lib/connect.php");
require_once("../lib/users.php");
$user=new user();
if(isset($_SESSION['igames_user']))
{
    if(!$user->check_logged_in($_SESSION['user']))
    {
        $_SESSION = array();
        session_unset();
        session_destroy();
        print_r($_SESSION);
    }

}
它返回
Array()
,这意味着会话已清除。 在
load\u content()
函数中,我正在执行另一个ajax请求:

function load_content(hash){
hash=hash.replace("#","");
$("#wrapper").fadeOut(function(){
    var that=$(this);
    that.html('');
    that.addClass("loader");
    that.addClass("loading_center");
    that.fadeIn(function(){
        var data=hash
        $.ajax({
            url: "ajax/get_page.php",
            type: "GET",
            data: data,
            cache: false,
            success: function (html) {
                that.fadeOut(function(){
                    that.html(html);
                    that.removeClass("loader");
                    that.removeClass("loading_center");
                    that.fadeIn();
                });
            }
        });
    });
});
}

get_page.php仅执行以下操作:

session_start();
print_r($_SESSION);
这不会像预期的那样返回空数组。
问题是什么?谢谢您的帮助。

我的猜测是,由于您正在执行一个“异步”调用,第二个js函数将在会话重置之前执行

我的猜测是,由于您正在执行一个“异步”调用,第二个js函数将在会话重置之前执行

我解决了这个问题,没有调用第一个ajax请求,而是在
get_page.php
文件中检查条件并删除会话。感谢您的回复。

我解决了这个问题,没有调用第一个ajax请求,而是在
get\u page.php
文件中检查条件并删除会话。感谢您的回复。

请尝试取消设置($\u会话['igames\u用户])也可以。您可以粘贴另一个函数代码吗?@GBD我已经编辑了我的问题,并添加了第二个函数。请尝试并确保您没有在路径的某个位置重新创建会话尝试
unset($_session['igames\u user'])也可以。您可以粘贴另一个函数代码吗?@GBD我已经编辑了我的问题并添加了第二个函数。请尝试并确保您没有在路径上的某个位置重新创建会话。我已经尝试使用timeout和onComplete处理程序。没用。但是在几次刷新之后(每次刷新的次数不同),会话被清除。我已经尝试过使用timeout和onComplete处理程序。没用。但在多次刷新(每次计数不同)后,会话将被清除。