2012-08-24 41 views
-2

大家好我开始使用codeigniter创建一个小应用程序,我想用json提交我的表单我有一个问题,当我在我的函数中添加json_encode时,redirect()不起作用我不知道为什么 这是我的代码重定向不适用于json_encode

public function login_validate() { 
    if ($_POST) { 
     $login = $this->users->access(array(
      'email' => $_POST['email'], 
      'password' => md5($_POST['password']) 
       )); 
     if (!$login) { 
      redirect('/home'); 
     } 
     echo json_encode($this->data); 
    } 
} 

如何解决这个问题

+2

它确实有效。这只是你对它所做的一些不同的预测而已。你应该更好地询问如何实现某些功能,而不是想知道为什么某些(或多或少无用的)功能组合不能做你想做的事情,但你并不直接要求。 – hakre

+1

您无法从Ajax调用重定向浏览器。如果你想这样做,你的JS代码将不得不检查响应并决定浏览器是否应该从客户端重定向(例如window.location ='xxx')。 – drew010

+1

你应该把重定向后的exit() –

回答

0

你真的应该在你的JSON响应中返回一个标志,然后如果标志设置,使用窗口。位置到达期望的页面。

你正在做的是将AJAX调用重定向到一个新页面,而不是浏览器。

相关问题