Javascript重新加载中断cookie删除

时间:2012-06-30 08:02:54

标签: javascript

所以我使用CodeIgniter框架使用下面的javascript注销用户:

//If logged in:
$('#logout').click(function() {
    $.ajax({url:'/auth/logout',
        success: function(data){
            $('#navigation').html(data);
        },
        error: function(jqXHR, textStatus, errorThrown)
        {
            document.write(errorThrown);
        }
    });
    location.reload(true);
});

只要我注释掉location.reload(true);,此代码成功调用auth / logout函数并将用户注销,这可以在我手动刷新页面时看到。但是,重新加载活动时,cookie不会被删除,用户也会保持登录状态。如何在重新加载页面之前确保删除cookie?

1 个答案:

答案 0 :(得分:2)

您需要将重新加载放在成功函数中,如下所示:

$.ajax({url:'/auth/logout',
    success: function(data){
        $('#navigation').html(data);
        location.reload(true);
    },
    error: function(jqXHR, textStatus, errorThrown)
    {
        document.write(errorThrown);
    }
});

当请求是异步时,您正在同步重新加载页面,这意味着在AJAX完成之前重新加载。