0

我正在为具有用户注册功能的 Web 应用程序使用 codeigniter。而且我在大多数地方都使用 ajax 来加载页面。问题是,如果通过 ajax 调用某个函数来加载页面并且如果会话不存在,则它不会重定向到登录页面。但是当我们通过浏览器访问相同的 URL 时它正在工作(它正在重定向到登录页面)。我应该怎么做才能解决这个问题?

这是我们正在使用的检查会话的代码。

    $userid=$this->phpsession->get('userid');
    if(!($userid))
    { 
        redirect('home','refresh');
    }
4

1 回答 1

1

在您的控制器中检测它是否是 ajax 请求:

if($this->input->is_ajax_request())
{
    $userid=$this->phpsession->get('userid');
    if(!($this->usermodel->is_user($userid)))
    { 
        echo "1";
    }
}

在 ajax 中检测响应并重定向到登录页面:

$.post('index.php/login', function(data){

if(data == "1")
{
document.location.href = <?php echo site_url("home"); ?>;
}

});
于 2012-05-15T12:42:26.980 回答