我需要知道为什么在没有使用ajax调用的会话时它无法重定向到登录页面。
*这是我的控制器: 我把我的图书馆和#34; MY_Login"在构造函数
中class Dashboard extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->library("MY_Login");
}
public function index()
{
$this->load->view('admin/dashboard_view');
}
public function test(){
echo '^^';
}
}
*这是我的图书馆: 这是为了检查会议
class MY_Login extends CI_Controller{
function __construct() {
parent::__construct();
// call with constructor.
$this->isLogin();
}
function isLogin() {
// if there is no session existed
if(!$this->session->userdata('USR_NM')){
// redirect to login page
redirect('/login', 'refresh');
}
}
}
*的Ajax: 当没有会话时,我尝试访问功能" test()"在我的控制器里面" dashbaord"使用Jquery Ajax调用。但它似乎无法重新登录我的登录页面。
任何帮助将不胜感激:)
答案 0 :(得分:0)
您正在尝试重定向您的ajax请求。这不是您想要的,您想要将呈现的页面重定向到客户端。
您必须向ajax调用发送消息,告诉它重定向页面-via-javascript。
仅仅因为您重定向ajax请求对已经呈现给客户端的页面没有任何意义。
答案 1 :(得分:0)
页面不会重定向,因为客户端的页面并不知道您通过ajax请求收到的响应...检查您的控制台,您将知道最新情况。 你可以做的是如果没有设置会话,那么发送' false'作为回应然后你可以做类似的事情:
if(!response){
location.href='link to which you want the page to redirect'.
}